Function at 0x10003851
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10062894
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x180
cmp byte [ebp + 0xc], 0
mov eax, ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x20], eax
je 0x100038ef
cmp byte [ebp + 0x10], 0
je 0x100038b5
mov edx, dword [ebp + 8]
mov dword [edx], 0
cmp dword [edx], 4
jge 0x1000470d
mov esi, dword [ebp + 0x28]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 9
inc dword [edx]
cmp dword [edx], 4
jl 0x1000389e
jmp 0x1000470d
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [edx]
mov eax, dword [ecx]
or ecx, 0xffffffff
mov eax, dword [edx]
mov eax, dword [edx]
cmp ecx, eax
sbb eax, eax
inc eax
imul ecx, eax, 0xffff
mov eax, dword [ebp + 0x20]
add ecx, 0x3d81c27f
mov dword [eax], ecx
jmp 0x1000470d
cmp byte [ebp + 0x24], 0
je 0x100045df
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x3c], edi
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 0xffffffff
push 1
call fcn.10001647
xor edx, edx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x10003949
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xe0]
mov dword [eax + ecx*4], 0x1b07fb07
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10003933
lea eax, [esp + 0xa8]
push eax
push ecx
lea eax, [esp + 0xe8]
push eax
push 0x5777
push edx
push ecx
push 0x36aa
lea ecx, [esp + 0xc0]
call fcn.100022c8
add esp, 0x18
push ebx
call fcn.10002a93
pop ecx
pop ecx
lea ecx, [esp + 0xe0]
call fcn.100016a4
xor eax, eax
mov dword [esp + 0xc4], 7
mov dword [esp + 0xc0], ebx
mov word [esp + 0xb0], ax
inc eax
lea ecx, [esp + 0xec]
push eax
mov dword [esp + 0x198], eax
call fcn.10001647
lea eax, [esp + 0xec]
mov byte [esp + 0x194], 2
push eax
xor esi, esi
mov dword [esp + 0xa0], 0xafa9b64f
inc esi
mov dword [esp + 0x4c], 0x5d870a32
push esi
push ecx
lea eax, [esp + 0x114]
mov edx, 0x5165
push eax
mov ecx, 0xd94
call fcn.10006300
mov byte [esp + 0x4b], bl
add esp, 0x10
cmp byte [esp + 0x3b], 0
je 0x10003a16
push ecx
push esi
call fcn.10002a93
pop ecx
pop ecx
xor eax, eax
lea ecx, [esp + 0xec]
inc eax
mov edx, 0x431a
push eax
push ecx
lea ecx, [esp + 0xa4]
push ecx
push 0x629
push 0x7d44
push ebx
push 0x5924
mov cl, al
call fcn.1000541f
add esp, 0x1c
mov byte [esp + 0x194], 1
lea ecx, [esp + 0xec]
call fcn.100016a4
cmp edi, dword [esp + 0x20]
ja 0x10003bce
push 2
lea ecx, [esp + 0xd8]
call fcn.10001647
mov byte [esp + 0x194], 3
mov dword [esp + 0xa0], 0x5c184c50
mov dword [esp + 0x1c], 0x4e81
cmp dword [esp + 0x1c], 0x4fa7
jle 0x10003b19
mov edi, ebx
mov dword [esp + 0x24], ebx
mov eax, ebx
mov dword [esp + 0x3c], 0x3cd9
mov dword [esp + 0x2c], eax
mov esi, ebx
cdq
lea ecx, [esp + 0x110]
idiv esi
and edx, edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10003ad0
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0x118]
call fcn.100017dc
mov eax, dword [esp + 0x2c]
inc esi
cmp esi, 0x3477
jl 0x10003ab0
mov esi, dword [esp + 0x24]
add eax, esi
dec dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
jne 0x10003aae
inc esi
mov dword [esp + 0x24], esi
cmp esi, 0x5ae7
jl 0x10003aa0
inc edi
cmp edi, 0x1f71
jl 0x10003a9c
cmp dword [esp + 0x1c], 0x4b7c
jge 0x10003b2e
push str.ibzhwxxu_trxwmhd_vhnbgog_ofgfsd_ppr_msqdgsfx
call fcn.10049280
pop ecx
lea eax, [esp + 0xd4]
mov dword [esp + 0x194], 3
push eax
lea ecx, [esp + 0x110]
call fcn.10004758
pop ecx
xor eax, eax
lea edx, [esp + 0xa0]
inc eax
xor cl, cl
push eax
push 0x3af7
push 0x7d5d
push 0x5c93
push 0x700e
push eax
lea eax, [esp + 0xec]
push eax
push 0x6b13
push 0x7103
push 0x65c5
call fcn.1000369b
add esp, 0x28
mov byte [esp + 0x194], 1
lea ecx, [esp + 0xd4]
call fcn.100016a4
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0xb0]
cmp ecx, eax
je 0x10003bba
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000b92d
push ebx
push 1
lea ecx, [esp + 0xb8]
call fcn.1000baf7
jmp 0x1000470d
mov dword [esp + 0x28], 0x618b
cmp dword [esp + 0x28], 0x653a
jle 0x10003c5d
mov esi, ebx
mov dword [esp + 0x1c], ebx
mov edi, ebx
mov dword [esp + 0x24], ebx
lea eax, [edi + esi]
mov edi, 0x511b
mov dword [esp + 0x20], eax
mov esi, eax
mov eax, esi
lea ecx, [esp + 0x158]
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10003c15
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0x160]
call fcn.100017dc
dec esi
dec edi
jne 0x10003bfa
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0xbc7
jl 0x10003bec
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x24c
jl 0x10003be6
push 0x16d9
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0x2e11
cmp dword [esp + 0x14], 0x2f12
jle 0x10003cf1
mov esi, ebx
mov dword [esp + 0x1c], ebx
mov edi, ebx
mov dword [esp + 0x24], ebx
mov ecx, edi
mov dword [esp + 0x20], esi
mov edi, esi
mov dword [esp + 0x18], ebx
sar edi, cl
mov esi, ebx
mov eax, edi
lea ecx, [esp + 0x128]
xor eax, esi
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10003cb0
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0x130]
call fcn.100017dc
inc esi
cmp esi, 0x53ad
jl 0x10003c93
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0x8011
jl 0x10003c83
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x66b4
jl 0x10003c7d
mov dword [esp + 0x44], 1
cmp dword [esp + 0x14], 0x2d04
jge 0x10003d0e
push str.jun_rrmirkhl_vdl_xmtd_ldzhyl_jsrxszfzq_zgu_fmxl
call fcn.10049280
pop ecx
mov dword [esp + 0x194], 1
lea ecx, [esp + 0x78]
mov dword [esp + 0x48], 0xfffffffc
push 3
call fcn.10001647
mov byte [esp + 0x194], 8
xor ecx, ecx
mov dword [esp + 0x1c], 0xffff
inc ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], ebx
jmp 0x10003d59
mov eax, dword [esp + 0x40]
mov dword [esp + eax*4 + 0x34], 0xbe197e7c
inc dword [esp + 0x40]
cmp dword [esp + 0x40], ecx
jl 0x10003d49
push ecx
lea edx, [esp + 0x44]
lea ecx, [esp + 0x7c]
call fcn.1000303c
dec dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x20]
cmp eax, 0x74fa
pop ecx
mov ecx, dword [esp + 0x78]
setne dl
sub edx, dword [ecx + 8]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, dword [ecx]
setne al
add eax, 0x36ec2c9f
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xfff7
mov eax, dword [esp + 0x10]
sbb ecx, ecx
inc ecx
sub eax, ecx
jne 0x10003dbb
mov eax, dword [esp + 0x78]
cmp dword [eax], ebx
jne 0x10003dbb
mov edx, ebx
jmp 0x10003dbe
xor edx, edx
inc edx
mov eax, dword [esp + 0x34]
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x44]
cmp edx, eax
mov eax, dword [esp + 0x78]
setge cl
xor edx, edx
cmp ecx, dword [eax]
setle dl
cmp dword [esp + 0x10], edx
jne 0x10003de6
cmp dword [esp + 0x34], ebx
jne 0x10003df0
cmp dword [esp + 0x14], ebx
jne 0x10003df0
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
xor edx, edx
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
cmp dword [eax], 0x1f90ef30
mov eax, dword [esp + 0x34]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x44]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x78]
setg dl
cmp edx, dword [eax]
je 0x10003e57
lea eax, [esp + 0x44]
xor dl, dl
push eax
mov ecx, 0x697d
call fcn.10002d57
jmp 0x10003e65
push ecx
lea edx, [esp + 0x3d]
mov byte [esp + 0x3d], bl
call fcn.10006076
pop ecx
lea ecx, [esp + 0x78]
call fcn.100016a4
cmp dword [esp + 0x28], 0x5ff3
jge 0x10003e84
push str.gdlyfij_kfaiss_qjlafs_jwnt_nkukzcwdl_gbw_auxnoibca_gzekigljz_tbeqyuor_nfrmvxo_iuilc_cnp
call fcn.10049280
pop ecx
lea eax, [esp + 0x3c]
mov dword [esp + 0x194], 1
push eax
push ebx
lea edx, [esp + 0x34]
lea ecx, [esp + 0xb8]
call fcn.10002da3
pop ecx
mov dword [esp + 0x10], 0xecb45710
pop ecx
mov dword [esp + 0x28], 0xeded
mov dword [esp + 0x30], 0xe69d0863
push 4
mov dword [esp + 0x18], 0xffffffff
pop esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ebx
jmp 0x10003ee4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], 0x841b3c69
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10003ed4
push 3
pop edi
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], ebx
jl 0x100042c4
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x24], 0x6c9f93b7
mov dword [esp + 0x18], ebx
mov dword [esp + 0x48], 0xffffffff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x4c], ecx
mov dword [esp + 0x20], 0xb0b
cmp dword [esp + 0x20], 0xcdb
jle 0x1000406f
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], 0x175c
cmp dword [esp + 0x18], 0xd2c
jge 0x10003feb
lea eax, [esp + 0x5c]
mov ecx, 0x1007f330
push eax
call fcn.1000afe0
mov eax, dword [esp + 0x5c]
mov ecx, eax
and ecx, 0x80000001
jns 0x10003f79
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
cmp ecx, 1
jne 0x10003fb0
dec esi
mov dword [esp + 0x5c], esi
lea ecx, [esi + 1]
push ecx
mov ecx, 0x1007f278
call fcn.1000b196
push eax
call fcn.1000f009
pop ecx
push edi
mov ecx, eax
call fcn.1000b196
mov ecx, eax
call fcn.1000f04e
jmp 0x10003fc6
push esi
mov ecx, 0x1007f278
mov dword [esp + 0x60], esi
call fcn.1000b196
push eax
call fcn.1000f009
pop ecx
test esi, esi
jle 0x10003fe0
push 2
mov ecx, 0x1007f278
call fcn.1000b196
mov ecx, eax
call fcn.1000f04e
dec esi
jne 0x10003fca
push 0x1007f278
call fcn.1000f009
pop ecx
mov esi, ebx
mov dword [esp + 0x18], ebx
mov eax, esi
mov dword [esp + 0x70], 0x47ea
mov esi, dword [esp + 0x10]
mov dword [esp + 0x74], eax
or eax, esi
lea ecx, [esp + 0x140]
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000401e
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0x148]
call fcn.100017dc
mov eax, dword [esp + 0x74]
dec eax
dec dword [esp + 0x70]
mov dword [esp + 0x74], eax
jne 0x10004003
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
cmp esi, 0x3bb3
jl 0x10003ff1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x665
jl 0x10003f41
push ebx
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x4c]
cmp dword [esp + 0x4c], ebx
je 0x100040b2
mov eax, dword [esp + 0x54]
xor esi, esi
mov eax, dword [esp + 0xc]
xor edx, edx
inc esi
mov eax, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0x58]
cmp eax, esi
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x4c]
cmp edx, eax
setl cl
cmp ecx, 0xffffffff
jge 0x100040b2
xor edx, edx
inc edx
mov esi, edx
jmp 0x100040b7
xor edx, edx
mov esi, ebx
inc edx
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp esi, eax
setne cl
neg ecx
cmp ecx, edx
jne 0x100040d4
mov eax, dword [esp + 0xc]
mov ecx, edx
cmp dword [esp + eax*4 + 0x4c], ebx
jne 0x100040d6
mov ecx, ebx
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + eax*4 + 0x4c]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setge dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x4c]
cmp edx, eax
setne cl
imul ecx, dword [esp + 0xc]
add ecx, 0xfffd
cmp ecx, 0x8b4b72b4
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x4c]
test eax, eax
setle cl
add ecx, dword [esp + 0xc]
cmp ecx, 0x479e
je 0x1000413b
cmp dword [esp + 0xc], ebx
je 0x1000413b
xor ecx, ecx
inc ecx
jmp 0x1000413d
mov ecx, ebx
mov eax, dword [esp + 0xc]
sub ecx, eax
je 0x10004171
mov dword [esp + 0x28], 5
jmp 0x10004165
lea eax, [esp + 0x30]
mov edx, 0x6cad
push eax
xor cl, cl
call fcn.1000673a
dec dword [esp + 0x2c]
pop ecx
cmp dword [esp + 0x28], 0xffffffe4
jle 0x1000414f
jmp 0x10004297
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0xf8]
push 2
call fcn.10001647
mov dword [esp + 0x14], ebx
jmp 0x1000419f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xf8]
mov dword [eax + ecx*4], 0x89a43d54
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10004189
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
inc dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x4c]
cmp dword [esp + 0x28], eax
jge 0x100041cd
cmp dword [esp + 0x58], ebx
je 0x100041cd
xor ebx, ebx
inc ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
cmp ebx, eax
mov eax, dword [esp + 0x10]
sete cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x30]
cmp eax, edx
mov eax, dword [esp + 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x54]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setl cl
xor edx, edx
cmp ecx, 0xfe74
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x8fc4
setl al
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xf8]
mov dword [ecx + 4], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
cmp dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [esp + 0x1c]
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [esp + 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xf8]
setg dl
imul edx, dword [esp + eax*4 + 0x4c]
mov dword [esp + 0x10], edx
call fcn.100016a4
xor ebx, ebx
cmp dword [esp + 0x20], 0xa31
jge 0x100042ac
push str.xewaxw_uudbzzqw_gaerxgj_ezu
call fcn.10049280
pop ecx
mov dword [esp + 0x194], 1
dec dword [esp + 0xc]
jns 0x10003efb
push 4
pop esi
mov eax, dword [esp + 0x54]
xor ecx, ecx
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
cmp eax, 0xaa41
setle cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, dword [esp + 0x1c]
cmp ecx, 0xee06
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0xc], ecx
jmp 0x10004598
push esi
lea ecx, [esp + 0x88]
call fcn.10001647
mov byte [esp + 0x194], 0xd
mov dword [esp + 0x20], 0x34aafbeb
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], ebx
jmp 0x10004365
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x84]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10004352
mov dword [esp + 0x18], 0x2fc3
cmp dword [esp + 0x18], 0x3361
jle 0x10004416
mov dword [esp + 0x14], ebx
mov edx, ebx
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov dword [esp + 0x24], ebx
mov ecx, ebx
mov dword [esp + 0x20], ebx
shl eax, cl
mov ecx, dword [esp + 0x14]
add ecx, edx
xor eax, ecx
lea ecx, [esp + 0x170]
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100043ba
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [esp + 0x178]
call fcn.100017dc
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
cmp ecx, 0x602b
jl 0x10004397
inc eax
mov dword [esp + 0x24], eax
cmp eax, 0x692c
jl 0x10004391
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x519b
jl 0x1000438b
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x4c7d
jl 0x10004385
mov dword [esp + 0xc], ebx
jmp 0x1000442c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x60], 0x32fe2236
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1000441c
cmp dword [esp + 0x18], 0x2ee9
jge 0x10004447
push str.gxi_vre_yhzebbqz_nfhuxetp_uaaiw_nmyzf_liwoay_iorldqark_egixwc_mwlncep_zerl_qpnrrxtlw
call fcn.10049280
pop ecx
mov dword [esp + 0x194], 0xd
mov dword [esp + 0x68], edi
cmp dword [esp + 0x68], ebx
jl 0x1000456c
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48], eax
push 2
lea ecx, [esp + 0xcc]
call fcn.10001647
push 0x69b2
push 0x677f
lea eax, [esp + 0x10c]
mov byte [esp + 0x19c], 0x10
push eax
push 0x3f07
xor dl, dl
lea ecx, [esp + 0xd8]
call fcn.10003663
add esp, 0xc
mov byte [esp + 0x3e], bl
lea ecx, [esp + 0x3e]
call fcn.100067a9
mov eax, dword [esp + 0x6c]
pop ecx
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x68]
cmp dword [esp + 0x68], 0xf6b34c26
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0xc8]
mov dword [eax], ecx
sbb eax, eax
mov ecx, dword [esp + 0x48]
inc eax
xor edx, edx
cmp eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x84]
setg dl
imul edx, dword [ecx + esi*4]
imul eax, edx, 0xd162
xor edx, edx
cmp eax, dword [ecx + edi*4]
mov eax, dword [esp + 0x68]
setl dl
xor ebx, ebx
add eax, edx
xor edx, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x68]
cmp dword [eax], edx
mov eax, dword [esp + 0x84]
setne bl
cmp ebx, dword [eax + ecx*4]
lea ecx, [esp + 0xc8]
setne dl
mov dword [esp + 0x20], edx
mov byte [esp + 0x194], 0xd
call fcn.100016a4
dec dword [esp + 0x68]
push 0
pop ebx
jns 0x1000446b
push 4
pop esi
push 3
pop edi
lea ecx, [esp + 0x84]
mov byte [esp + 0x194], 1
call fcn.100016a4
lea eax, [esp + 0xb0]
push eax
push 0x3b87
lea ecx, [esp + 0x34]
call fcn.1000600c
pop ecx
pop ecx
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x3c]
jb 0x1000432b
push 0x2553
push ebx
push 0x78e4
push 0x2731
push 0x5c25
push 0x22fc
push 1
push ebx
push 0x5133
mov edx, 0x18be
mov ecx, 0x6fa
call fcn.10003851
add esp, 0x24
jmp 0x10003ba3
push 3
lea ecx, [esp + 0x94]
call fcn.10001647
mov dword [esp + 0x14], 0xfffffffc
xor edx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], 0xfffffffa
mov dword [esp + 0x18], 0x8aae07ea
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], edx
jmp 0x10004633
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x90]
mov dword [eax + ecx*4], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1000461d
xor ebx, ebx
mov dword [esp + 0xc], edx
inc ebx
jmp 0x10004652
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xac], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x10004643
mov esi, dword [esp + 0x90]
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
neg eax
cmp eax, dword [ecx + 4]
je 0x10004686
cmp dword [esp + 0x14], edx
jne 0x10004688
mov ebx, edx
mov eax, dword [esp + 0x90]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
add ecx, ebx
cmp ecx, eax
mov eax, dword [esp + 0x90]
setne dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [esp + 0x20]
setg cl
imul eax, ecx
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, 0x14b11f38
setle cl
xor eax, eax
cmp dword [esi + 8], ecx
setle al
xor ecx, ecx
mov dword [esp + 0x18], eax
imul eax, dword [esp + 0x18], 0x6b3
mov edx, dword [esi + 8]
sub eax, 0x6fbf3c0d
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, edx
setg cl
add ecx, edx
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x90]
call fcn.100016a4
mov ecx, dword [esp + 0x18c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret