Function at 0x40c23f
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
push ebx
push esi
push edi
mov dword [esp + 0x18], 0x4d2edc75
mov dword [esp + 0x10], 0x26c5
cmp dword [esp + 0x10], 0x2a33
push 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], str.wyurjy_redhywg_yhmjdgvmg_dlhodau_hpirlyy_ksgq_xhkgcnl
pop ebx
jle 0x40c2db
xor esi, esi
mov byte [esp + 0x44], bl
mov dword [esp + 0x20], esi
mov byte [esp + 0x50], bl
mov byte [esp + 0x3c], 0
mov byte [esp + 0x4c], 0
xor edi, edi
mov eax, esi
mov esi, 0x35e8
cdq
idiv edi
mov ebx, edx
mov eax, ebx
mov ecx, 0xac7538
cdq
push edx
push eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
call fcn.004178b5
inc ebx
dec esi
jne 0x40c29d
mov esi, dword [esp + 0x20]
inc edi
cmp edi, 0x476e
jl 0x40c291
inc esi
mov dword [esp + 0x20], esi
cmp esi, 0x7125
jl 0x40c28f
xor ebx, ebx
inc ebx
mov dword [esp + 0x20], 0xc7104272
cmp dword [esp + 0x10], 0x2309
jge 0x40c327
push ebx
push ebx
push 0x6f93
push ebx
push ebx
push 0
push 0x606a
push 0x13c8
push ebx
push 0
push 0x5dac
push 0
push 0x629f
push 0x698f
mov dl, bl
lea ecx, [esp + 0x9c]
call fcn.0040beaf
add esp, 0x38
mov dword [esp + 0x58], 0x3ab7
cmp dword [esp + 0x58], 0x3c17
mov dword [esp + 0x78], str.cbnncbklf_eteiql_qto_vloo_rwip_jtynvbxn_pqrrj_diarkcj_fshqhgmk_ajx_uxkooq_wuncpqcf_jwip_yoqup
jle 0x40c3a2
xor esi, esi
xor edi, edi
push 0xbd1
push 0
push 0x13e3
mov ecx, edi
mov eax, esi
shl eax, cl
push ebx
cdq
push 0x400d
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push eax
push ebx
push ecx
push 0
push ecx
mov dword [esp + 0xcc], edx
mov ecx, 0x2307
push 0x1671
mov edx, 0x149a
call fcn.0040ba1c
add esp, 0x2c
inc edi
cmp edi, 0x5688
jl 0x40c345
inc esi
cmp esi, 0x12a7
jl 0x40c343
push 0x4b1c
push ebx
lea eax, [esp + 0x60]
mov dword [esp + 0x34], 0x9172ddb7
push eax
push ebx
push 0x36ce
push 0x7ba8
push ebx
push ecx
push 0
push ecx
push 0x36d0
lea edx, [esp + 0xa4]
mov ecx, 0x3e28
call fcn.0040ba1c
mov dword [esp + 0x50], ebx
add esp, 0x2c
mov dword [esp + 0x14], 0
jmp 0x40c3ff
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xb8], 0x9a733e34
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x40c3ec
mov dword [esp + 0x10], 0x415b
cmp dword [esp + 0x10], 0x4252
jle 0x40c43f
xor esi, esi
xor edi, edi
mov eax, edi
mov ecx, 0xac7538
or eax, esi
cdq
push edx
push eax
call fcn.004178b5
inc edi
cmp edi, 0x2c3b
jl 0x40c41c
inc esi
cmp esi, 0x7c0b
jl 0x40c41a
mov dword [esp + 0x14], 0
jmp 0x40c45c
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xc4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x40c449
cmp dword [esp + 0x10], 0x3e11
jge 0x40c47c
mov edx, str.ngwb_hcvv_rspbcwqmr
mov ecx, 0xac7538
call fcn.0041c2dd
mov dword [esp + 0x28], 0x3b26
cmp dword [esp + 0x28], 0x3d31
jle 0x40c560
xor esi, esi
mov dword [esp + 0x14], esi
xor edi, edi
mov dword [esp + 0x10], edi
xor ebx, ebx
mov eax, edi
and dword [esp + 0x24], 0
cdq
mov edi, esi
idiv ebx
mov esi, dword [esp + 0x24]
mov ecx, edx
shl edi, cl
push 0x1c3c
xor ecx, ecx
mov eax, edi
inc ecx
xor eax, esi
push ecx
push 0x2736
push 0x164a
push ecx
push ecx
push 0x77c
push ecx
push ecx
cdq
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push eax
push ecx
push 0x101b
push 0xcfa
push 0x250b
push 0x764f
push 0x7dab
push ecx
push ecx
push 0
mov dword [esp + 0xd8], edx
xor dl, dl
push 0x459d
push 0x3784
call fcn.0040bc29
add esp, 0x54
inc esi
cmp esi, 0x7523
jl 0x40c4b4
mov esi, dword [esp + 0x14]
inc ebx
mov edi, dword [esp + 0x10]
cmp ebx, 0x5fc7
jl 0x40c4a0
inc edi
mov dword [esp + 0x10], edi
cmp edi, 0x7e71
jl 0x40c49e
inc esi
mov dword [esp + 0x14], esi
cmp esi, 0x2b7d
jl 0x40c498
xor ebx, ebx
inc ebx
mov dword [esp + 0x10], 0x7264
cmp dword [esp + 0x10], 0x72d5
jle 0x40c5a8
push ebx
push ebx
push 0x3886
push ebx
push 0
push ebx
push 0x384f
push 0x4f34
push ebx
push ebx
push 0x844
push ebx
push 0xfe3
push 0x2500
mov dl, bl
mov ecx, 0x231f
call fcn.0040beaf
add esp, 0x38
mov byte [esp + 0x33], 0
cmp dword [esp + 0x10], 0x712c
jge 0x40c5c6
mov edx, str.pla_kbqnb_myun_jyxfnidqy
mov ecx, 0xac7538
call fcn.0041c2dd
push ebx
push ebx
push 0x3121
push 0
push ebx
push 0
push 0xe7e
push 0x3c26
push ebx
push ebx
push 0x7378
push 0
lea eax, [esp + 0x63]
xor dl, dl
push 0x5963
push eax
mov ecx, 0x74cb
call fcn.0040beaf
add esp, 0x38
cmp dword [esp + 0x28], 0x3910
jge 0x40c613
push str.goffgccit_mmklrj_gelqxrkdl_cog_uijxfptsl_cyfvfn_slxpjmj_olgedwlk_emcrtc
call fcn.004f1488
pop ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
dec dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
push 8
pop ecx
cmp ecx, eax
mov dword [esp + 0xc0], eax
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax, 0xb44a
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc4]
add ecx, eax
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
cmp edx, 0x456574b6
je 0x40c672
cmp dword [esp + 0x2c], 0
jne 0x40c672
xor eax, eax
jmp 0x40c674
mov eax, ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x24], eax
cmp dword [ebx], 0
je 0x40cecb
push dword [ebx]
push 0
push dword [ebx + 4]
call fcn.004caaff
add esp, 0xc
push dword [ebx + 4]
call fcn.004f08d6
mov dword [esp + 0x2c], 0x2d1c
cmp dword [esp + 0x2c], 0x2fbb
pop ecx
mov dword [esp + 0x70], str.cbrgmlxnl_agroqbok_mpp_flvis_cyngxlwl_ufp_mlamkt_vpanthd
jle 0x40c77b
push 0x781
push 0
push 0x7b04
push 0x47f7
xor eax, eax
inc eax
push eax
push eax
push 0x3002
push 0
push eax
push 0x5617
push 0
push 0x6f4
push 0x1453
push 0x5eb6
push 0x6bc6
push 0x203b
push eax
push eax
push eax
push 0x2243
push 0x7176
mov dl, al
mov cl, al
call fcn.0040bc29
add esp, 0x54
xor esi, esi
xor edi, edi
mov ebx, 0x67e9
xor ecx, ecx
mov eax, edi
inc ecx
cdq
push ecx
push ecx
push 0x145e
push ecx
push ecx
push 0
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
push eax
push 0xba4
push ecx
push ecx
push 0x4a9b
push 0
mov dword [esp + 0xdc], edx
mov ecx, 0x585a
push 0x2b26
push 0x492c
xor dl, dl
call fcn.0040beaf
add esp, 0x38
add edi, esi
dec ebx
jne 0x40c71b
inc esi
cmp esi, 0x79ce
jl 0x40c714
mov ebx, dword [esp + 0x48]
push 0
push 0x2d8e
push 0x3994
push 0x7103
push 0x19ad
xor esi, esi
xor dl, dl
inc esi
mov ecx, ebx
push esi
push esi
push 0
push 0x360c
push esi
call fcn.0040c0ec
add esp, 0x28
cmp dword [esp + 0x28], 0x2bb7
jge 0x40c7e9
push 0
push esi
push 0x5e5
push 0x28bc
push esi
push 0x21b0
push esi
push esi
push 0
push 0x244f
push 0x633e
lea edx, [esp + 0x9c]
mov ecx, 0x110
call fcn.0040b671
add esp, 0x2c
xor ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x60], 0x8ef8a6eb
mov dword [esp + 0x10], 0
jmp 0x40c812
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], 0
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x40c802
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 0xffffffe2
jge 0x40ce74
mov dword [esp + 0x14], 0x46df37d4
mov dword [esp + 0x24], 0x2afd77cc
mov dword [esp + 0x14], 0xfffffffb
cmp dword [esp + 0x14], 0
je 0x40cc1c
mov dword [esp + 0x14], 0x20a9
cmp dword [esp + 0x14], 0x22d0
jle 0x40c94f
push 0x2660
push 0
push 0x2766
push 0x6913
push ecx
push ecx
push 0x5d01
push 0
push ecx
push 0x7e29
push ecx
push 0x6323
push 0xb57
push 0x300f
push 0x6a0
push 0x78c0
push ecx
push ecx
push ecx
push 0x21b1
push 0x4f34
mov dl, cl
call fcn.0040bc29
add esp, 0x54
xor esi, esi
mov dword [esp + 0x10], esi
xor edi, edi
mov dword [esp + 0x20], 0x6ac3
mov ebx, edi
mov dword [esp + 0x28], 0x2cfb
xor esi, esi
xor ecx, ecx
mov eax, ebx
inc ecx
or eax, esi
push ecx
push ecx
push 0x3f93
push ecx
push ecx
push 0
cdq
push 0x4adc
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push eax
push ecx
push ecx
push 0x27e6
push 0
mov dword [esp + 0xc4], edx
mov dl, cl
push 0x337c
push 0x750c
mov ecx, 0x543a
call fcn.0040beaf
add esp, 0x38
inc esi
cmp esi, 0x5f8d
jl 0x40c8d2
inc ebx
dec dword [esp + 0x28]
jne 0x40c8d0
mov esi, dword [esp + 0x10]
add edi, esi
dec dword [esp + 0x20]
jne 0x40c8c6
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x63de
jl 0x40c8bc
mov byte [esp + 0x1f], 0
cmp dword [esp + 0x14], 0x2058
jge 0x40c969
push str.xawcw_fxqaccix_vqtf_hsgan
call fcn.004f1488
pop ecx
cmp byte [esp + 0x1f], 0
je 0x40c978
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x14], 0xfffffff6
jmp 0x40cc0c
mov dword [esp + 0x10], 8
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], 0
jl 0x40cc08
xor ebx, ebx
inc ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x7c]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], ecx
mov dword [esp + 0x20], 0
jmp 0x40cbf4
mov dword [esp + 0x24], 0x1994
cmp dword [esp + 0x24], 0x1b2e
jle 0x40ca30
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x2c], 0x2492
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x34], 0x4f54
mov dword [esp + 0x28], ecx
mov eax, ebx
and eax, ecx
mov ecx, 0xac7538
cdq
push edx
push eax
call fcn.004178b5
mov ecx, dword [esp + 0x28]
add ecx, edi
dec dword [esp + 0x34]
mov dword [esp + 0x28], ecx
jne 0x40c9f2
inc edi
cmp edi, 0xc1a
jl 0x40c9e4
add ebx, esi
dec dword [esp + 0x2c]
jne 0x40c9e2
inc esi
cmp esi, 0x546e
jl 0x40c9d8
xor ebx, ebx
inc ebx
mov byte [esp + 0x1f], 0
cmp dword [esp + 0x24], 0x15f1
jge 0x40ca4e
mov edx, str.ftsqapbt_mjgfn_uooc_antoy_pjxhqbcn_slstuy_mgqmghb_kfrmxpyy_adhxo_serjd_lyh
mov ecx, 0xac7538
call fcn.0041c2dd
cmp byte [esp + 0x1f], 0
je 0x40cbf0
mov dword [esp + 0x28], 0x2fd4
cmp dword [esp + 0x28], 0x303e
mov dword [esp + 0x68], str.anl_ovi_aluglnror_trbywwx_vtyvd_lfp_jbcs_iwev_swctd_pmxec_upuumrabi
jle 0x40cb5e
push 0x62c1
push 0
push 0x440c
push 0x4307
push ebx
push ebx
push 0x2a7c
push ebx
push ebx
push 0x497a
push ebx
push 0x4e72
push 0x50ba
push 0x1f70
push 0x36e7
push 0x3e09
push ebx
push 0
push ebx
push 0x4041
push 0xd5d
mov dl, bl
mov cl, bl
call fcn.0040bc29
add esp, 0x54
xor esi, esi
mov ebx, esi
mov dword [esp + 0x34], 0x5aaf
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x2c], 0x20d6
mov dword [esp + 0x24], ecx
push 0
mov eax, ebx
shl eax, cl
mov ecx, 0x36e3
cdq
push 0xe3d
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push eax
push 0x19cd
push 0x507
push 1
push 1
push 0
mov dword [esp + 0xbc], edx
mov dl, 1
push 0x6e45
push 1
call fcn.0040c0ec
mov ecx, dword [esp + 0x4c]
add esp, 0x28
add ecx, edi
dec dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
jne 0x40cae6
inc edi
cmp edi, 0x7ef2
jl 0x40cad8
dec ebx
dec dword [esp + 0x34]
jne 0x40cad6
inc esi
cmp esi, 0x5fb0
jl 0x40cacc
xor ebx, ebx
inc ebx
push 0
push ebx
push 0x759d
push 0x5706
push ebx
push 0x4226
push ebx
push ebx
push ebx
push 0x37eb
push 0xff5
mov edx, 0x3fe1
mov ecx, 0x39cf
call fcn.0040b671
add esp, 0x2c
cmp dword [esp + 0x28], 0x2d84
jge 0x40cbf0
push 0x7ca7
push ebx
push 0x69bf
push 0x3d53
xor eax, eax
mov dl, bl
push eax
push eax
push 0x57aa
push ebx
push ebx
push 0x1003
push ebx
push 0x4bf9
push 0x21a6
push 0x7230
push 0x3f1d
push 0x33b8
push ebx
push ebx
push eax
lea eax, [esp + 0xb4]
mov cl, bl
push eax
push 0x32aa
call fcn.0040bc29
add esp, 0x54
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jne 0x40c9c4
dec dword [esp + 0x10]
jns 0x40c9a3
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffec
jg 0x40c985
jmp 0x40ce5e
xor ebx, ebx
mov dword [esp + 0x24], 0x7037
inc ebx
mov dword [esp + 0x6c], str.itnq_eexxturob_qiqmr
cmp dword [esp + 0x24], 0x71e7
jle 0x40cd03
push ebx
push ebx
push 0
push ecx
push 0x63b
push 0x3d0d
push 0x685f
mov edx, 0x3b6a
mov cl, bl
call fcn.0040b8ce
add esp, 0x1c
and dword [esp + 0x38], 0
and dword [esp + 0x40], 0
and dword [esp + 0x54], 0
push 0x5859
push 0
push 0xca6
push 0x3655
push ebx
push ebx
push 0x18b1
push ebx
push ebx
push 0x4b30
push ebx
lea eax, [esp + 0x80]
mov dl, bl
push eax
push 0x3e6b
push 0x6bc0
lea eax, [esp + 0x70]
mov cl, bl
push eax
lea eax, [esp + 0x7c]
push eax
push ebx
push ebx
push ebx
push 0x961
push 0x64b1
call fcn.0040bc29
mov eax, dword [esp + 0xa8]
add esp, 0x54
inc eax
mov dword [esp + 0x54], eax
cmp eax, 0x277b
jl 0x40cc6f
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, 0x7207
jl 0x40cc6a
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, 0x4b84
jl 0x40cc65
push 0
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov dword [esp + 0x2c], 0x63785551
cmp dword [esp + 0x24], 0x6d88
jge 0x40cd3a
push ecx
push ecx
push 0x7d08
push ebx
push 0x23b7
push ecx
push ebx
push 0xe86
push 0
lea ecx, [esp + 0x90]
call fcn.0040c1d1
add esp, 0x24
push 0x144c
push ebx
push 0x2252
push 0x2cf5
push ebx
xor esi, esi
mov dword [esp + 0x70], 0x5a66
push esi
push 0x6edc
push ebx
push ebx
push 0x2c2e
push ebx
push 0x3bfd
push 0x6ce
lea eax, [esp + 0x90]
mov dword [esp + 0xa8], str.hnvt_ngdiawfd_raqdgd_qstbro_awqxlblh_vifvxvpv_asboqgd_ukgnpdhh_roxjssog_ukxeb_sgekvwe_fvfo_quv_gjfmegq
push eax
push 0x69ca
push 0x47a8
push ebx
push ebx
push esi
push 0x7f8b
push 0x9be
mov dl, bl
mov cl, bl
call fcn.0040bc29
mov eax, dword [esp + 0x80]
add esp, 0x54
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
push 5
pop ecx
sub ecx, eax
mov dword [esp + 0x24], ecx
jne 0x40cdc5
mov edx, esi
cmp dword [esp + 0x18], esi
je 0x40cdc7
mov edx, ebx
mov eax, dword [esp + 0x18]
xor ecx, ecx
neg edx
cmp edx, eax
mov dl, bl
push 0x5e7f
setne cl
xor eax, eax
cmp ecx, 4
push ebx
setle al
imul ecx, eax, 0x3ccd
push 0x16f2
push 0x7695
push ebx
push ebx
sub ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x30]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
mov ecx, 0x4e1054d8
sub ecx, eax
lea eax, [esp + 0x74]
push eax
push ebx
add ecx, dword [esp + 0xa0]
lea eax, [esp + 0x94]
push ebx
push 0x18e7
push ebx
push 0x8af
push 0x796
push 0x3061
push 0x63b9
push 0x5205
push ebx
push ebx
push esi
mov dword [esp + 0xac], ecx
mov cl, bl
push 0x19a2
push eax
call fcn.0040bc29
add esp, 0x54
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe2
push 1
pop ecx
jl 0x40c82c
mov ebx, dword [esp + 0x48]
push ecx
push ecx
push 0x2795
push ecx
push ecx
push ecx
push 0x73b1
push 0x224d
push ecx
push ecx
lea eax, [esp + 0x88]
mov dl, cl
push eax
push ecx
push 0x1534
push 0x66f3
mov ecx, 0x446e
call fcn.0040beaf
add esp, 0x30
xor esi, esi
inc esi
push 0x753a
push esi
push 0x3878
push ecx
push esi
push ebx
push esi
mov ecx, 0x4efb
call fcn.0040c1d1
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret