Function at 0x1003e405
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10063afa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov byte [esp + 0x30], cl
je 0x1003e489
test cl, cl
je 0x1003e460
mov edx, dword [ebp + 0x10]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x1003ea4b
mov esi, dword [ebp + 0x1c]
mov ecx, dword [edx]
mov eax, dword [esi]
or dword [eax + ecx*4], 0xffffffff
inc dword [edx]
cmp dword [edx], 2
jl 0x1003e44c
jmp 0x1003ea4b
mov dword [edx], 0
cmp dword [edx], 2
jge 0x1003ea4b
mov esi, dword [ebp + 0x20]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 1
inc dword [edx]
cmp dword [edx], 2
jl 0x1003e472
jmp 0x1003ea4b
cmp byte [ebp + 0x24], 0
je 0x1003e915
xor eax, eax
xor ebx, ebx
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x64], 0xeba4d3ec
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], 0x19
jg 0x1003e5d0
mov dword [esp + 0x28], 0xa3df603f
lea ecx, [esp + 0xb0]
push 4
call fcn.10001647
push 1
push 0x7813
push ecx
lea eax, [esp + 0xc8]
mov dword [esp + 0xf8], ebx
push 0x10b0
push eax
lea ecx, [esp + 0xc4]
call fcn.1003e349
xor ecx, ecx
add esp, 0x14
inc ecx
mov dword [esp + 0x28], ecx
jmp 0x1003e56c
mov dword [esp + 0x10], 2
mov dword [esp + 0x10], ebx
jmp 0x1003e523
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1003e513
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], ebx
jmp 0x1003e561
mov dword [esp + 0x14], 6
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x1003e55d
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x3c], ebx
jne 0x1003e55d
dec dword [esp + 0x14]
jns 0x1003e54d
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffee
jl 0x1003e53b
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 0xfffffff3
jl 0x1003e505
push 0x3abe
lea eax, [esp + 0xb4]
xor dl, dl
push eax
lea eax, [esp + 0x6c]
push eax
push 0x21af
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x94]
call fcn.1003ea85
or dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0xcc]
add esp, 0x1c
call fcn.100016a4
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x19
jle 0x1003e4bb
xor eax, eax
inc eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xec], eax
cmp dword [esi + 0x14], 8
mov edx, dword [esi + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
jb 0x1003e601
mov eax, dword [esi]
jmp 0x1003e603
mov eax, esi
push edx
push ebx
push eax
call fcn.1001737f
mov edi, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edi
cmp edi, dword [esp + 0x20]
jae 0x1003e8fa
cmp eax, 0xffffffff
je 0x1003e72c
cmp eax, edi
je 0x1003e6f7
mov dword [esp + 0x7c], 1
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x3c], 0xd9e2
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 0xfffffff7
lea edx, [esp + 0x3c]
push ecx
mov dword [esp + 0x24], ebx
push eax
mov dword [esp + 0x28], 0xf2c9a130
mov dword [esp + 0x28], ebx
push ecx
mov dword [esp + 0x2c], 0x7ea4c570
call fcn.100400f0
push 0x5872
push ebx
push 0x137c
push 0x26bf
lea eax, [esp + 0x58]
mov edx, 0xd8f
push eax
push ebx
push 0x5cd2
push 0x50f0
push 0x756f
mov cl, 1
call fcn.1003e405
add esp, 0x34
lea eax, [esp + 0x2c]
lea edx, [esp + 0x40]
push 0x10e4
push ecx
push 0xaed
push 0x1d23
push 1
push ecx
push 0x7814
push 0x5367
push eax
push 0x70e6
push dword [ebp + 8]
lea eax, [esp + 0x60]
mov ecx, 0x5cf7
push 0xdad
push eax
push 0x1148
call fcn.1003ec10
mov eax, dword [esp + 0x64]
add esp, 0x38
mov edi, dword [esp + 0x14]
add edi, eax
cmp dword [esi + 0x14], 8
mov dword [esp + 0x34], edi
jb 0x1003e70b
mov eax, dword [esi]
jmp 0x1003e70d
mov eax, esi
push dword [esi + 0x10]
mov ecx, dword [ebp + 8]
push edi
push eax
call fcn.1001737f
mov dword [esp + 0x2c], eax
cmp edi, 0xffffffff
jne 0x1003e615
jmp 0x1003e8fa
mov eax, 0x3556
lea ecx, [esp + 0xa4]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
push 3
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
pop edi
mov dword [esp + 0x10], 0x6de713a4
mov dword [esp + 0x20], 0xffffffff
push edi
call fcn.10001647
mov byte [esp + 0xec], 2
mov dword [esp + 0x14], ebx
jmp 0x1003e791
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x1003e77b
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1003e7a7
call fcn.10040a6c
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], edi
jg 0x1003e81d
mov esi, dword [esp + 0xa4]
cmp dword [esp + 0x10], ebx
jne 0x1003e7c9
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x84]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov edx, 0x693009c
mov eax, dword [esp + eax*4 + 0x84]
add eax, dword [esp + 0x20]
add eax, dword [esp + 0x20]
cmp eax, 0x7631615e
setg cl
xor eax, eax
neg ecx
cmp ecx, 0x61fb
setne al
xor ecx, ecx
sub edx, eax
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x84]
cmp eax, edx
sete cl
mov dword [esi + 4], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x1003e7b8
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 1
call fcn.100016a4
push ebx
lea eax, [esp + 0x38]
mov edx, 0x642
push eax
push dword [ebp + 8]
lea ecx, [esp + 0x4c]
call fcn.1003e3ba
add esp, 0xc
mov dword [esp + 0x60], 0x90a624cd
lea eax, [esp + 0x4c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], 0x7a1245c8
mov edx, 0xb75
mov dword [esp + 0x4c], 0xfffffff7
push eax
push ecx
lea eax, [esp + 0x68]
mov dword [esp + 0x7c], 0xc383c67e
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x7c], 0xaa32f3f6
push eax
push ebx
push ecx
lea eax, [esp + 0x88]
mov dword [esp + 0x34], 7
push eax
lea eax, [esp + 0x88]
mov dword [esp + 0x6c], 0xffffffff
push eax
push 0x26c1
lea eax, [esp + 0xa4]
mov dword [esp + 0xa4], 1
push eax
push 0x7b67
lea eax, [esp + 0xa0]
mov dword [esp + 0x94], 0x839e071a
push eax
lea eax, [esp + 0x80]
push 0x7d1
push eax
lea ecx, [esp + 0x8c]
call fcn.1003ec10
add esp, 0x38
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x40]
push eax
call fcn.1004282d
lea ecx, [esp + 0x40]
call fcn.10042c84
jmp 0x1003ea4b
mov esi, dword [ebp + 0x18]
mov dword [esi], 0x16
cmp dword [esi], 0xffffffea
je 0x1003ea4b
push 9
xor ebx, ebx
pop edi
mov dword [esp + 0x1c], 1
mov dword [esp + 0x1c], 0xf3f6085e
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], 0x68b2
cmp dword [esp + 0x10], 0x69a3
jle 0x1003e9c3
mov edi, ebx
mov dword [esp + 0x14], ebx
mov esi, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0x75b4
mov eax, edi
lea ecx, [esp + 0xc8]
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003e985
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0xd0]
call fcn.100017dc
add edi, esi
dec dword [esp + 0x20]
jne 0x1003e96a
mov edi, dword [esp + 0x14]
dec esi
cmp esi, 0xffff9a16
jg 0x1003e95e
inc edi
mov dword [esp + 0x14], edi
cmp edi, 0x3bf3
jl 0x1003e95c
mov esi, dword [ebp + 0x18]
push 9
pop edi
cmp dword [esp + 0x10], 0x6706
jge 0x1003e9d8
push str.fcy_twafkqyb_nbkmtdzq_wfdg_hhpkcj_mwn_gmbajkgb
call fcn.10049280
pop ecx
or dword [esp + 0xec], 0xffffffff
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x14], ebx
jmp 0x1003ea15
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xc0], 0xfff839e0
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003ea02
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], bl
je 0x1003ea39
push 0x7f2
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
inc dword [esp + 0x98]
dec dword [esi]
cmp dword [esi], 0xffffffea
jne 0x1003e92c
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret