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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006145e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
cmp byte [ebp + 8], 0
push ebx
push esi
mov ebx, edx
push edi
mov dword [esp + 0x54], ebx
je 0x100391c6
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x100391bb
xor eax, eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x7c]
push eax
push 0x1000
call fcn.100120d0
and dword [esp + 0x154], 0
mov edi, 0x605f
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x48]
push dword [esp + 0x48]
sar eax, 1
push eax
push edi
push 0xbd9d
call fcn.100339a4
pop ecx
pop ecx
call eax
push dword [esp + 0x48]
lea ecx, [esp + 0x88]
call fcn.1001e001
push 0x7e73
mov byte [esp + 0x158], 1
call fcn.1001160c
pop ecx
push 1
push 0x4e1
sub esp, 0xc
movzx eax, ax
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x98]
push 0x5add
call fcn.1003869f
add esp, 0x18
lea eax, [esp + 0x84]
push eax
push 1
push 0x7baa
push ecx
call fcn.10038abb
add esp, 0x10
lea eax, [esp + 0x84]
cmp dword [esp + 0x98], 8
cmovae eax, dword [esp + 0x84]
push 0
push eax
push edi
push 0xc9a5
call fcn.100339a4
pop ecx
pop ecx
call eax
mov dword [esp + 0x24], 0xb5f
cmp dword [esp + 0x24], 0xdc4
jle 0x10038cf5
xor esi, esi
mov dword [esp + 0x1c], esi
xor eax, eax
mov dword [esp + 0x5c], 0x60eb
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, edi
mov dword [esp + 0x80], esi
xor ebx, ebx
sar esi, cl
mov ecx, ebx
mov eax, esi
shl eax, cl
lea ecx, [esp + 0x118]
cdq
push edx
push eax
call fcn.10004d43
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038ca5
mov eax, dword [eax]
push eax
call fcn.10047823
pop ecx
push 0
push 1
lea ecx, [esp + 0x120]
call fcn.100031ae
inc ebx
cmp ebx, 0x1ace
jl 0x10038c86
mov esi, dword [esp + 0x30]
inc edi
cmp edi, 0x6001
jl 0x10038c79
mov esi, dword [esp + 0x1c]
add dword [esp + 0x30], esi
dec dword [esp + 0x5c]
jne 0x10038c73
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x6b19
jl 0x10038c65
mov ebx, dword [esp + 0x54]
push dword [esp + 0x58]
push ecx
lea ecx, [esp + 0x8c]
call fcn.1003534a
cmp dword [esp + 0x24], 0x8df
jge 0x10038d1b
push str.bwbkxhe_mqfeboo_omnfld_begp_nskbei_tljxo_wxp_cpzfhmd_huzovtl_pvv_cwolhmxh_wzjpdyg_lmu_omnngn
call fcn.10047823
pop ecx
xor ecx, ecx
lea eax, [esp + 0x60]
inc ecx
push ebx
push ecx
mov dword [esp + 0x15c], ecx
mov dl, cl
and dword [esp + 0x68], 0
mov ecx, 0x31d1
push 0x11c0
push eax
call fcn.100384ec
add esp, 0x10
mov dword [esp + 0x34], 0x1d026803
and dword [esp + 0x1c], 0
mov dword [esp + 0x38], 0x4b015600
mov dword [esp + 0x3c], 0x6403cf04
mov byte [esp + 0x40], 0xbe
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xa0]
call fcn.1001164d
push 0x10
pop edx
lea ecx, [esp + 0x100]
mov byte [esp + 0x154], 4
call fcn.1003fb07
lea eax, [esp + 0x100]
mov byte [esp + 0x154], 5
push eax
lea eax, [esp + 0xa0]
mov edx, 0x5bc6
push eax
push 0x44ee
push ecx
mov ecx, 0x647a
call fcn.100392c7
add esp, 0x10
push 0x65
pop eax
mov word [esp + 0x76], ax
mov dword [esp + 0x24], 0x7627
cmp dword [esp + 0x24], 0x7811
jle 0x10038e2e
xor esi, esi
xor edi, edi
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [esp + 0x130]
cdq
push edx
push eax
call fcn.10004d43
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038dff
mov eax, dword [eax]
push eax
call fcn.10047823
pop ecx
push 0
push 1
lea ecx, [esp + 0x138]
call fcn.100031ae
inc edi
cmp edi, 0x571d
jl 0x10038de0
inc esi
cmp esi, 0x2bea
jl 0x10038dde
call dword [sym.imp.USER32.dll_EndMenu]
push 2
xor ecx, ecx
pop esi
mov dword [esp + 0x44], ecx
cmp esi, 8
jne 0x10038e48
push 5
pop ecx
push 0xb
mov dword [esp + 0x48], ecx
pop esi
jmp 0x10038e9a
movzx edx, byte [esp + esi + 0x35]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x32]
movzx ecx, word [esp + eax*2 + 0x70]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x34]
add ecx, edx
push ecx
push ecx
push 1
sub esp, 0x10
mov word [esp + eax*2 + 0x8c], cx
lea eax, [esp + 0x60]
push eax
push 0x64ff
push ecx
push 0x3632
push 0x7f63
call fcn.1003856e
mov ecx, dword [esp + 0x74]
add esp, 0x30
add esi, 2
cmp esi, 0xd
jb 0x10038e37
cmp dword [esp + 0x24], 0x73c5
jge 0x10038eb7
push str.pefdnzvxz_lukgldgdg_wcdbydxt
call fcn.10047823
pop ecx
xor eax, eax
mov dword [esp + 0x154], 5
and dword [esp + 0xf4], eax
lea ecx, [esp + 0xe4]
mov word [esp + 0x78], ax
mov word [esp + 0xe4], ax
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0xfc], 7
call fcn.1001e2bf
push ecx
push ecx
lea eax, [esp + 0xec]
mov byte [esp + 0x15c], 8
push eax
lea ecx, [esp + 0xa8]
call fcn.1003a198
push 0
push 1
lea ecx, [esp + 0xec]
mov byte [esp + 0x15c], 5
call fcn.10011e0e
xor eax, eax
lea edi, [esp + 0x70]
cmp dword [esp + 0xb0], 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x9c]
cmovae eax, dword [esp + 0x9c]
mov edi, 0x605f
xor ecx, ecx
push ecx
push 0x80
push 2
push ecx
push ecx
push 0x40000000
push eax
push edi
push 0x9381
call fcn.100339a4
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10038fb5
push 0
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x68]
push dword [ebx]
push esi
push edi
push 0x6c67
call fcn.100339a4
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0xab91
setne bl
call fcn.100339a4
pop ecx
pop ecx
call eax
test bl, bl
jne 0x10039002
mov ebx, dword [esp + 0x54]
push 0
push 1
lea ecx, [esp + 0x108]
call fcn.10011e0e
push 0
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x15c], 1
call fcn.10011e0e
mov esi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x12c
jb 0x10038d67
mov eax, dword [ebp + 0x10]
push 0
mov dword [eax], 2
jmp 0x100391a2
push 0x22
pop eax
xor ebx, ebx
mov dword [esp + 0x14], 0xa3020d00
push 2
mov byte [esp + 0x1c], al
mov ecx, ebx
mov word [esp + 0x24], ax
pop esi
cmp esi, 2
jne 0x10039029
push 3
pop ecx
push ecx
pop esi
jmp 0x10039050
movzx edx, byte [esp + esi + 0x15]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x12]
movzx eax, word [esp + eax*2 + 0x20]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x14]
mov word [esp + eax*2 + 0x20], cx
mov ecx, ebx
add esi, 2
cmp esi, 5
jb 0x1003901d
xor eax, eax
mov dword [esp + 0xc4], ebx
push 7
mov word [esp + 0x26], ax
lea ecx, [esp + 0xb8]
pop edi
mov word [esp + 0xb4], ax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0xcc], edi
call fcn.1001e2bf
push ecx
push ecx
lea eax, [esp + 0xa4]
mov byte [esp + 0x15c], 9
push eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x2c], ebx
call fcn.1003a198
push 0x22
pop eax
push 2
mov dword [esp + 0x2c], 0xd026600
mov dword [esp + 0x30], 0x73030f01
mov word [esp + 0x68], ax
pop esi
movzx eax, byte [esp + esi + 0x26]
movzx ecx, byte [esp + esi + 0x29]
movzx eax, word [esp + eax*2 + 0x64]
mov edx, eax
and eax, ecx
or edx, ecx
sub edx, eax
movzx eax, byte [esp + esi + 0x28]
add esi, 2
mov word [esp + eax*2 + 0x64], dx
cmp esi, 8
jb 0x100390c6
xor eax, eax
mov dword [esp + 0xe0], edi
mov word [esp + 0x6c], ax
lea ecx, [esp + 0xcc]
mov word [esp + 0xcc], ax
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0xe0], ebx
call fcn.1001e2bf
push ecx
push ecx
lea eax, [esp + 0xd4]
mov byte [esp + 0x15c], 0xa
push eax
lea ecx, [esp + 0xc0]
call fcn.1003a198
push ebx
push 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x15c], 9
call fcn.10011e0e
xor eax, eax
lea edi, [esp + 0x64]
stosd dword es:[edi], eax
lea edx, [esp + 0x84]
lea ecx, [esp + 0xb4]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.10037e1e
mov ecx, dword [ebp + 0x10]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xbc]
call fcn.10011e0e
push ebx
push 1
lea ecx, [esp + 0x108]
call fcn.10011e0e
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.10011e0e
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.10011e0e
lea ecx, [esp + 0x48]
call fcn.10012157
jmp 0x100391d8
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x100391d8
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x100391d8
call dword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, dword [esp + 0x14c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret