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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005c8f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x148
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [esp + 0x64], ecx
je 0x1003b12d
cmp byte [ebp + 0xc], 0
je 0x1003b111
mov esi, dword [ebp + 0x20]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1003b109
lea eax, [esp + 0xa0]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [esp + 0x54]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.100166ef
mov dword [esp + 0x15c], ebx
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x4c]
push dword [esp + 0x4c]
sar eax, 1
push eax
push 0x7c2b
push 0xa58c
call fcn.1002a81f
pop ecx
pop ecx
call eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x74]
call fcn.10007ac5
push 0x1e20
mov byte [esp + 0x160], 1
call fcn.10015f04
cmp dword [esp + 0x88], 8
pop ecx
movzx edi, ax
lea ecx, [esp + 0x70]
cmovae ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x80]
cmp word [ecx + eax*2 - 2], di
je 0x1003aa6f
push edi
push ecx
lea ecx, [esp + 0x78]
call fcn.1000415d
push 0xd9a
lea eax, [esp + 0x74]
mov edx, 0x4a5d
push eax
push ecx
push 1
call fcn.1003a06a
add esp, 0x10
lea eax, [esp + 0x70]
cmp dword [esp + 0x84], 8
cmovae eax, dword [esp + 0x70]
push ebx
push eax
push 0x7c2b
push 0x70e2
call fcn.1002a81f
pop ecx
pop ecx
call eax
push edi
push ecx
lea ecx, [esp + 0x78]
call fcn.1000415d
push esi
push 0x15d0
sub esp, 0xc
mov dword [esp + 0x74], ebx
lea eax, [esp + 0x74]
mov edx, 0x39cc
mov cl, 1
push eax
call fcn.1003a923
mov byte [esp + 0x37], bl
add esp, 0x18
mov dword [esp + 0x18], 0x199d
cmp dword [esp + 0x18], 0x1be0
jle 0x1003ab6b
mov ecx, ebx
mov dword [esp + 0x14], ebx
mov edi, ebx
mov esi, ebx
mov edx, ebx
mov dword [esp + 0x10], ebx
lea eax, [esi + edi]
and eax, edx
xor eax, ecx
lea ecx, [esp + 0x120]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003ab21
mov eax, dword [eax]
push eax
call fcn.10042c54
pop ecx
push ebx
push 1
lea ecx, [esp + 0x128]
call fcn.100023f4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x2b63
jl 0x1003ab01
inc esi
cmp esi, 0x26c2
jl 0x1003aafb
inc edi
cmp edi, 0x6675
jl 0x1003aaf9
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x7a66
jl 0x1003aaf7
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], 0x1d02c401
mov dword [esp + 0x30], 0x4b001d03
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xa8]
call fcn.10001ff2
push 0x10
pop edx
lea ecx, [esp + 0x108]
mov byte [esp + 0x15c], 2
call fcn.100356f6
lea eax, [esp + 0xa4]
mov byte [esp + 0x15c], 3
push eax
push ecx
push 0x4637
push ecx
push 0x312c
push ecx
lea edx, [esp + 0x120]
mov cl, 1
call fcn.1003a46c
add esp, 0x18
push 0x65
pop eax
push 2
mov word [esp + 0x8e], ax
pop esi
movzx eax, byte [esp + esi + 0x2a]
movzx edx, byte [esp + esi + 0x2d]
movzx ecx, word [esp + eax*2 + 0x88]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [esp + esi + 0x2c]
add edx, ecx
add esi, 2
mov word [esp + eax*2 + 0x88], dx
cmp esi, 8
jb 0x1003abe3
xor eax, eax
mov dword [esp + 0xe8], 7
mov word [esp + 0x90], ax
lea ecx, [esp + 0xd4]
mov word [esp + 0xd4], ax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0xe8], ebx
call fcn.10007edd
push ecx
push ecx
lea eax, [esp + 0xdc]
mov byte [esp + 0x164], 4
push eax
lea ecx, [esp + 0xb0]
call fcn.10019f6b
push ebx
push 1
lea ecx, [esp + 0xdc]
mov byte [esp + 0x164], 3
call fcn.10002560
xor eax, eax
lea edi, [esp + 0x88]
cmp dword [esp + 0xb8], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [esp + 0xbc]
cmovae eax, dword [esp + 0xbc]
mov edi, 0x7c2b
push eax
push edi
push 0x8efa
call fcn.1002a81f
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1003ad0d
push ebx
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x68]
mov eax, dword [ebp + 0x20]
push dword [eax]
push esi
push edi
push 0x92bd
call fcn.1002a81f
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x6d1f
setne bl
call fcn.1002a81f
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1003ad6c
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x110]
call fcn.10002560
push ebx
push 1
lea ecx, [esp + 0xac]
mov byte [esp + 0x164], 1
call fcn.10002560
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
cmp edi, 0x12c
jb 0x1003ab7f
cmp dword [esp + 0x18], 0x1664
jge 0x1003ad5d
push str.zoabluhu_uplok_msgkgn_hlhgyl_wpfrhzmi_deobjnid_hittc_hworqo_pcqefpeo_mzfmaa_pyi_gvecasro_kfnc_jynjqi
call fcn.10042c54
pop ecx
mov ecx, dword [esp + 0x64]
mov dword [ecx], 2
jmp 0x1003b0f2
push 0x22
pop eax
push 2
xor ebx, ebx
mov dword [esp + 0x24], 0xcd02ce00
pop esi
mov byte [esp + 0x24], 0x51
mov word [esp + 0x28], ax
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ebx
cmp esi, 2
jne 0x1003ada1
push 3
pop eax
mov dword [esp + 0x10], eax
mov esi, eax
jmp 0x1003af0d
mov dword [esp + 0x6c], 0x5b12
cmp dword [esp + 0x6c], 0x5ec2
jle 0x1003ae4a
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], ebx
mov ecx, ebx
mov dword [esp + 0x68], 0x4ea2
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x48]
mov esi, ebx
mov eax, esi
xor eax, edi
xor eax, ecx
lea ecx, [esp + 0x138]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003adf2
mov eax, dword [eax]
push eax
call fcn.10042c54
pop ecx
push ebx
push 1
lea ecx, [esp + 0x140]
call fcn.100023f4
mov ecx, dword [esp + 0x14]
inc esi
cmp esi, 0x20b1
jl 0x1003add3
mov edi, dword [esp + 0x5c]
add ecx, edi
dec dword [esp + 0x68]
mov dword [esp + 0x14], ecx
jne 0x1003adcd
inc edi
mov dword [esp + 0x5c], edi
cmp edi, 0x7c9e
jl 0x1003adbf
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, 0x5c16
jl 0x1003adbb
mov esi, dword [esp + 0x18]
movzx edx, byte [esp + esi + 0x21]
mov eax, esi
sub eax, dword [esp + 0x10]
movzx eax, byte [esp + eax + 0x1e]
movzx eax, word [esp + eax*2 + 0x28]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x20]
mov word [esp + eax*2 + 0x28], cx
mov dword [esp + 0x18], 0x23b1
cmp dword [esp + 0x18], 0xf22
jge 0x1003aee9
lea eax, [esp + 0x40]
push eax
push 0x10068994
call fcn.10043117
pop ecx
jmp 0x1003aedb
dec eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x58]
push eax
push 0x10068994
call fcn.10043117
pop ecx
pop ecx
mov ecx, dword [esp + 0x58]
mov edi, ebx
test ecx, ecx
jle 0x1003aed1
inc edi
mov eax, edi
cdq
idiv ecx
inc edx
push edx
push str._ld
call fcn.10042c54
pop ecx
pop ecx
mov ecx, dword [esp + 0x58]
cmp edi, ecx
jl 0x1003aeb5
push 0x10063951
call fcn.10043426
mov eax, dword [esp + 0x44]
pop ecx
test eax, eax
jne 0x1003ae95
dec eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x6c], 0x59f1
jge 0x1003aefe
push str.kgmv_vnleviv_seuupwp_duythgo_qig_vsknhr_fnlstok_rwt
call fcn.10042c54
pop ecx
mov dword [esp + 0x15c], 3
mov dword [esp + 0x10], ebx
add esi, 2
mov dword [esp + 0x18], esi
cmp esi, 5
jb 0x1003ad8e
xor eax, eax
mov dword [esp + 0xd0], 7
mov word [esp + 0x2a], ax
lea ecx, [esp + 0xbc]
mov word [esp + 0xbc], ax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0xd0], ebx
call fcn.10007edd
push 0x3279
lea eax, [esp + 0xc0]
mov byte [esp + 0x160], 7
push eax
sub esp, 0xc
mov dword [esp + 0x3c], ebx
mov edx, 0x21d8
push 1
push ecx
lea ecx, [esp + 0xc0]
call fcn.1003b1cd
add esp, 0x1c
mov dword [esp + 0x34], 0x73012203
mov ecx, ebx
mov dword [esp + 0x38], 0xd000f02
mov word [esp + 0x3c], 0x1302
mov byte [esp + 0x3e], 0x90
push 0x53
pop eax
push 2
mov word [esp + 0x9e], ax
pop esi
mov dword [esp + 0x44], ecx
cmp esi, 8
jne 0x1003afc3
push 3
pop ecx
push 9
mov dword [esp + 0x48], ecx
pop esi
jmp 0x1003b014
movzx edx, byte [esp + esi + 0x35]
mov eax, esi
sub eax, ecx
push 1
push 0x69f6
push 1
movzx eax, byte [esp + eax + 0x3e]
movzx eax, word [esp + eax*2 + 0xa0]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [esp + esi + 0x40]
mov word [esp + eax*2 + 0xa0], cx
lea eax, [esp + 0x50]
push eax
push 0x5ba8
mov ecx, 0x377a
call fcn.1003a598
mov ecx, dword [esp + 0x58]
add esp, 0x14
add esi, 2
cmp esi, 0xb
jb 0x1003afb2
xor eax, eax
mov dword [esp + 0x104], 7
mov word [esp + 0x9c], ax
lea ecx, [esp + 0xf0]
mov word [esp + 0xf0], ax
lea eax, [esp + 0x94]
push eax
mov dword [esp + 0x104], ebx
call fcn.10007edd
push ecx
push ecx
lea eax, [esp + 0xf8]
mov byte [esp + 0x164], 8
push eax
lea ecx, [esp + 0xc8]
call fcn.10019f6b
push ebx
push 1
lea ecx, [esp + 0xf8]
mov byte [esp + 0x164], 7
call fcn.10002560
xor eax, eax
lea edi, [esp + 0x94]
stosd dword es:[edi], eax
mov dl, 1
push 0x5363
push ecx
push 0x6efa
stosd dword es:[edi], eax
lea ecx, [esp + 0x2b]
stosw word es:[edi], ax
call fcn.1003a87e
add esp, 0xc
lea edx, [esp + 0x70]
lea ecx, [esp + 0xbc]
call fcn.10038bfc
mov ecx, dword [esp + 0x64]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xc4]
call fcn.10002560
push ebx
push 1
lea ecx, [esp + 0x110]
call fcn.10002560
push ebx
push 1
lea ecx, [esp + 0xac]
call fcn.10002560
push ebx
push 1
lea ecx, [esp + 0x78]
call fcn.10002560
lea ecx, [esp + 0x4c]
call fcn.10008088
jmp 0x1003b182
mov dword [ecx], 1
jmp 0x1003b182
xor ebx, ebx
mov dword [edx], ebx
cmp dword [edx], 4
jge 0x1003b182
mov esi, dword [ebp + 0x24]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], ebx
inc dword [edx]
cmp dword [edx], 4
jl 0x1003b11d
jmp 0x1003b182
cmp byte [ebp + 0x14], 0
je 0x1003b15f
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x1003b182
push 0
push 0x40ee
push 1
push 0x4f72
push 0x4e1f
mov dl, 1
mov ecx, 0x5327
call fcn.1003a598
add esp, 0x14
jmp 0x1003b182
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x1003b182
mov esi, dword [ebp + 0x10]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xec0a
inc dword [edx]
cmp dword [edx], 2
jl 0x1003b170
mov ecx, dword [esp + 0x154]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret