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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005c800
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
mov ebx, edx
mov dword [esp + 0x28], ebx
push esi
push edi
test cl, cl
je 0x10039842
cmp byte [ebp + 0x14], 0
je 0x100392ba
mov eax, dword [ebp + 0x10]
or dword [eax], 0xffffffff
jmp 0x10039871
push dword [esp + 0x34]
movdqa xmm0, xmmword [0x10069300]
lea eax, [esp + 0xdc]
push eax
xor esi, esi
lea eax, [esp + 0xd0]
push eax
push esi
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], esi
movdqu xmmword [esp + 0xd8], xmm0
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
call fcn.1000472f
mov dword [esp + 0xfc], esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0x58382bdb
mov dword [esp + 0x2c], 0xf746e33
mov dword [eax], esi
jmp 0x1003933c
push esi
push 0x18f5
push esi
push 0x2ac4
push 0x54d2
mov dl, 1
mov ecx, 0xeb
call fcn.1003a598
mov eax, dword [esp + 0x34]
add esp, 0x14
inc dword [eax]
mov eax, dword [esp + 0x20]
cmp dword [eax], 0x16
jge 0x10039316
mov dword [eax + 4], 0xfffc
xor eax, eax
mov edx, dword [esp + 0x20]
push 0xfffffffffffffff7
pop edi
cmp dword [edx], 0x647c
setne al
xor ecx, ecx
cmp eax, edi
mov eax, dword [esp + 0x10]
setne cl
mov dword [edx], ecx
xor edx, edx
test ecx, ecx
sete dl
sub edx, eax
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], esi
je 0x100393a1
cmp dword [esp + 0x10], esi
je 0x100393a1
xor eax, eax
inc eax
jmp 0x100393a3
mov eax, esi
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], esi
je 0x100393c4
mov dword [esp + 0x10], 0x34859bb7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
jmp 0x100395d7
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x80]
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x10], 0xf87b70d8
push 2
call fcn.10002067
mov byte [esp + 0xfc], 1
lea eax, [esp + 0x98]
push esi
mov dword [esp + 0x14], 0x8a746c20
lea edx, [esp + 0x84]
mov dword [esp + 0x40], 0x4e60d2e6
push eax
call fcn.10037aab
pop ecx
pop ecx
push 0x657e
push ecx
lea eax, [esp + 0x1c]
mov edx, 0x3cc2
push eax
push ecx
lea eax, [esp + 0x30]
xor cl, cl
push eax
lea eax, [esp + 0x58]
push 0x5fd4
push eax
call fcn.100391e1
add esp, 0x1c
mov dword [esp + 0x14], esi
jmp 0x100395c0
mov dword [esp + 0x10], 0xfffffffc
lea ecx, [esp + 0xa8]
mov dword [esp + 0x10], 0x3d38e20b
mov dword [esp + 0x10], 0xe1b460d5
mov dword [esp + 0x10], esi
mov dword [esp + 0x48], 1
push 4
call fcn.10002067
mov byte [esp + 0xfc], 2
lea ecx, [esp + 0x50]
mov dword [esp + 0x4c], 0x35a02a90
push 3
call fcn.10002067
push 0x5e28
push ecx
lea eax, [esp + 0xb0]
mov byte [esp + 0x104], 3
push eax
lea edx, [esp + 0x4c]
mov ecx, 0x55f9
call fcn.1003a95c
add esp, 0xc
lea eax, [esp + 0x50]
mov edx, 0x515d
xor cl, cl
push eax
push 0x4a72
push 1
push 0x7de5
push 0x7d4c
lea eax, [esp + 0x54]
push 0x690a
push eax
call fcn.10037c06
mov dword [esp + 0x2c], 3
add esp, 0x1c
cmp dword [esp + 0x10], esi
jl 0x10039570
mov dword [esp + 0xbc], 0xffffffff
lea ecx, [esp + 0x9c]
push 4
call fcn.10002067
push ecx
push ecx
push esi
push ecx
lea eax, [esp + 0xd0]
mov byte [esp + 0x10c], 4
push eax
push 0x18e1
push ecx
lea eax, [esp + 0xb8]
mov edx, 0x8db
push eax
call fcn.10039945
add esp, 0x14
lea ecx, [esp + 0x58]
xor dl, dl
call fcn.10037ae1
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xa8]
add esp, 0xc
dec dword [eax + 8]
mov byte [esp + 0xfc], 3
call fcn.100020ea
dec dword [esp + 0x10]
jns 0x100394f9
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x8c]
push eax
sub esp, 0x10
lea eax, [esp + 0x4c]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x70]
push eax
call fcn.10039cb2
add esp, 0x24
lea ecx, [esp + 0x50]
call fcn.100020ea
lea ecx, [esp + 0xa8]
mov byte [esp + 0xfc], 1
call fcn.100020ea
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x10039448
lea ecx, [esp + 0x80]
call fcn.100020ea
or dword [esp + 0xfc], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.100020ea
push dword [ebp + 0x18]
lea ecx, [esp + 0x60]
call fcn.10001ff2
push ecx
push ebx
lea ecx, [esp + 0x64]
mov dword [esp + 0x104], 5
call fcn.1003c1a5
push ecx
push ecx
push 1
push ecx
mov dword [esp + 0x2c], eax
lea edx, [esp + 0x6c]
push 0x73e1
lea eax, [esp + 0x30]
push eax
push ecx
push 0x76b2
call fcn.10039945
mov dword [esp + 0x30], 0x1bf6
add esp, 0x20
cmp dword [esp + 0x10], 0x1c5f
jle 0x1003969f
mov edi, esi
mov ebx, esi
mov eax, ebx
lea ecx, [esp + 0xd8]
or eax, edi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039662
mov eax, dword [eax]
push eax
call fcn.10042c54
pop ecx
push esi
push 1
lea ecx, [esp + 0xe0]
call fcn.100023f4
inc ebx
cmp ebx, 0x3600
jl 0x10039645
inc edi
cmp edi, 0x177e
jl 0x10039643
push 0x1b71
push 0x5f1
push esi
call dword [sym.imp.USER32.dll_DeleteMenu]
mov ebx, dword [esp + 0x30]
push 2
lea ecx, [esp + 0x78]
call fcn.10002067
push 0x5dc1
push 0x56c8
push 0x7138
lea eax, [esp + 0xd0]
mov byte [esp + 0x108], 6
push eax
xor ecx, ecx
lea eax, [esp + 0x84]
push esi
inc ecx
mov edx, 0x5da7
push eax
push ecx
mov dword [esp + 0x54], ecx
mov ecx, 0x3f33
mov dword [esp + 0x50], 0xfff7
push esi
call fcn.1003a984
add esp, 0x18
lea eax, [esp + 0x40]
lea edx, [esp + 0x7c]
push 0x7dc9
push 0x13ec
push esi
push eax
call fcn.1003a492
add esp, 0x14
lea eax, [esp + 0x3c]
lea edx, [esp + 0x38]
push esi
push 0x517c
push eax
push ecx
call fcn.1003a8b7
add esp, 0x14
lea ecx, [esp + 0x74]
call fcn.100020ea
cmp dword [esp + 0x10], 0x19c6
jge 0x10039747
push str.skudaytny_cmurif_bfevup_qthpn_xnigdwsz_autxq_lygmugynl_zvqjw_lvsed_mgxrlp
call fcn.10042c54
pop ecx
lea eax, [esp + 0x5c]
mov dword [esp + 0xfc], 5
push eax
push ecx
push 0x3b24
push ecx
push 0x6751
lea eax, [esp + 0x30]
mov edx, ebx
push eax
push 0x110f
mov cl, 1
call fcn.100391e1
add esp, 0x1c
cmp dword [esp + 0x1c], 0xffffffff
je 0x10039820
push 3
lea ecx, [esp + 0x90]
call fcn.10002067
mov dword [esp + 0x30], 0xab60e704
mov dword [esp + 0x10], esi
jmp 0x100397b6
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0x7f825e7a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100397a0
mov dword [esp + 0x10], esi
jmp 0x100397d6
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xb4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100397c3
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x8c]
inc dword [eax + 8]
mov eax, dword [esp + 0xb4]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x30], eax
call fcn.100020ea
push esi
lea eax, [esp + 0x20]
mov edx, 0x4d1f
push 0x5da
push eax
lea ecx, [esp + 0x68]
call fcn.1003a50f
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x5c]
cmp ecx, eax
je 0x10039834
push 0xffffffffffffffff
push esi
push eax
call fcn.10002486
push esi
push 1
lea ecx, [esp + 0x64]
call fcn.10002560
jmp 0x10039871
cmp byte [ebp + 0xc], 0
je 0x10039852
push 0
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
jmp 0x10039871
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x10039871
push 1
push 0x7208
mov edx, 0x1524
call fcn.10037aab
pop ecx
pop ecx
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret