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

Disassembly:
mov eax, 0x7ef93362
call fcn.7ef890d8
sub esp, 0xc70
push ebx
push esi
push edi
mov dword [ebp - 0x130], 0x7efa5b50
and dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x88]
cmp eax, dword [0x7efa5dd0]
jle 0x7ef595e2
and byte [ebp - 0xb3c], 0
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0xb3c]
jmp 0x7ef5aac2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x100
test eax, eax
je 0x7ef59607
and byte [ebp - 0xb40], 0
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0xb40]
jmp 0x7ef5aac2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x84]
and eax, 3
test eax, eax
je 0x7ef5962d
and byte [ebp - 0xb44], 0
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0xb44]
jmp 0x7ef5aac2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
or ah, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x100000
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x40], al
push dword [0x7efa5e10]
push dword [ebp - 0x1c]
call fcn.7ef86204
pop ecx
pop ecx
test eax, eax
jne 0x7ef59675
call fcn.7ef62d50
mov dword [ebp - 0x4c], eax
jmp 0x7ef59692
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
push dword [ebp - 0x1c]
call fcn.7ef6299c
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x7ef596b5
push dword [ebp - 0x1c]
push 0x7ef974a8
push 0x1fe
push str.X:_thinstall_stub_ts_imports.cc
call fcn.7ef85958
pop ecx
pop ecx
call eax
pop ecx
pop ecx
push 0x20
call fcn.7ef87177
pop ecx
mov dword [ebp - 0xb4c], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xb4c], 0
je 0x7ef59764
push 0x10
call fcn.7ef87177
pop ecx
mov dword [ebp - 0xb54], eax
cmp dword [ebp - 0xb54], 0
je 0x7ef59731
mov eax, dword [ebp - 0xb54]
mov dword [eax], 0x7ef96498
mov eax, dword [ebp - 0xb54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb54]
and dword [eax + 8], 0
mov eax, dword [ebp - 0xb54]
mov dword [eax], 0x7ef97484
mov eax, dword [ebp - 0xb54]
and dword [eax + 0xc], 0
mov eax, dword [ebp - 0xb54]
mov dword [ebp - 0xc64], eax
jmp 0x7ef59738
and dword [ebp - 0xc64], 0
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0xb50], eax
push 0
push 0x1000
push dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb4c]
call fcn.7ef882c7
mov dword [ebp - 0xc68], eax
jmp 0x7ef5976b
and dword [ebp - 0xc68], 0
mov eax, dword [ebp - 0xc68]
mov dword [ebp - 0xb48], eax
and byte [ebp - 4], 0
mov eax, dword [ebp - 0xb48]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 2
push 0x40
lea eax, [ebp - 0x174]
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax]
mov eax, dword [ebp - 0x138]
add eax, 4
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax + 8]
push 0x14
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax]
push 0xe0
lea eax, [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0x78], ecx
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5986f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x400
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0
je 0x7ef5983c
mov dword [ebp - 0xc6c], str.not_fixed
jmp 0x7ef59846
mov dword [ebp - 0xc6c], str.fixup
push dword [ebp - 0xc6c]
push dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x18]
push str.lookup_imports__x__x_adding_module__s___s__n
call fcn.7ef54190
add esp, 0x14
and dword [ebp - 0x24], 0
jmp 0x7ef5987c
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
movzx eax, word [ebp - 0x36]
cmp dword [ebp - 0x24], eax
jge 0x7ef598d0
push 0x28
lea eax, [ebp - 0x1a4]
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax]
lea eax, [ebp - 0x1a4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x1c
call fcn.7ef5ae7a
mov eax, dword [ebp - 0x180]
and eax, 0x10000000
test eax, eax
je 0x7ef598ce
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
or ah, 0x10
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x7c], eax
jmp 0x7ef59875
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xb74], eax
push dword [ebp - 0xb74]
call fcn.7ef594b1
pop ecx
mov dword [ebp - 0x48], eax
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
and dword [ebp - 0x44], 0
and dword [ebp - 0x20], 0
cmp dword [ebp - 0x18], 0
je 0x7ef59afa
mov al, byte [ebp - 0xb58]
mov byte [ebp - 0x1b4], al
and dword [ebp - 0x1b0], 0
and dword [ebp - 0x1ac], 0
and dword [ebp - 0x1a8], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xb78], eax
push 0
lea eax, [ebp - 0x1b4]
push eax
push dword [ebp - 0xb78]
call fcn.7ef64863
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x7ef59973
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xb7c], eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1b8]
push eax
push str.StringFileInfo040904E4FileDescription
push dword [ebp - 0xb7c]
call fcn.7ef88c36
test eax, eax
jne 0x7ef599ad
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
push str.Microsoft_.NET_Runtime
push dword [ebp - 0x1b8]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
jne 0x7ef599cf
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xb80], eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1b8]
push eax
push str.StringFileInfo040904E4CompanyName
push dword [ebp - 0xb80]
call fcn.7ef88c36
test eax, eax
jne 0x7ef59a09
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
push str.Microsoft
push dword [ebp - 0x1b8]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
jne 0x7ef59a2b
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xb84], eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1b8]
push eax
push str.StringFileInfo040904E4OriginalFilename
push dword [ebp - 0xb84]
call fcn.7ef88c36
test eax, eax
jne 0x7ef59a62
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
push str.core
push dword [ebp - 0x1b8]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
jne 0x7ef59a81
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xb88], eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1b8]
push eax
push str.StringFileInfo040904E4ProductName
push dword [ebp - 0xb88]
call fcn.7ef88c36
test eax, eax
jne 0x7ef59ab8
mov dword [ebp - 0x14], 1
jmp 0x7ef59ad5
push str..NET
push dword [ebp - 0x1b8]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
jne 0x7ef59ad5
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0
je 0x7ef59aeb
push dword [ebp + 8]
call fcn.7ef59504
pop ecx
and dword [ebp - 0x134], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b4]
call fcn.7ef54455
movzx eax, word [ebp - 0x26]
and eax, 0x2000
test eax, eax
jne 0x7ef59b1b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 2
test eax, eax
jne 0x7ef59b1b
and dword [ebp - 0x134], 0
cmp dword [ebp - 0x134], 0
je 0x7ef5a855
push dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
call fcn.7ef5884f
mov dword [ebp - 0x1c0], eax
push dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax + 8]
mov al, byte [ebp - 0xb5c]
mov byte [ebp - 0x1d4], al
and dword [ebp - 0x1d0], 0
and dword [ebp - 0x1cc], 0
and dword [ebp - 0x1c8], 0
mov byte [ebp - 4], 4
push 0x14
lea eax, [ebp - 0x1e8]
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax]
cmp eax, 0x14
je 0x7ef59bb3
push dword [ebp - 0x1c]
push str.Bad_module__s
push 0x25d
push str.X:_thinstall_stub_ts_imports.cc
call fcn.7ef85958
pop ecx
pop ecx
call eax
pop ecx
pop ecx
cmp dword [ebp - 0x1dc], 0
je 0x7ef59bce
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.7ef5af29
cmp dword [ebp - 0x1dc], 0
jne 0x7ef59b78
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 4
test eax, eax
jne 0x7ef59ce0
mov eax, dword [0x7efa59a4]
and eax, 0x800000
test eax, eax
je 0x7ef59ce0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xba8], eax
mov eax, dword [ebp - 0xba8]
cmp eax, dword [0x7efa58d8]
jne 0x7ef59ce0
cmp dword [ebp - 0x1d0], 0
jne 0x7ef59c2a
and dword [ebp - 0xc70], 0
jmp 0x7ef59c42
mov eax, dword [ebp - 0x1cc]
sub eax, dword [ebp - 0x1d0]
cdq
push 0x14
pop ecx
idiv ecx
mov dword [ebp - 0xc70], eax
mov eax, dword [ebp - 0xc70]
inc eax
imul eax, eax, 0x14
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x134]
push eax
call fcn.7ef89580
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x1f4]
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
add eax, 0x14
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0x68], 0
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0x6c], 0
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0xc0], 0
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0xc4], 0
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0x88], 0
mov eax, dword [ebp - 0x1f0]
and dword [eax + 0x8c], 0
and dword [ebp - 0x1c4], 0
jmp 0x7ef59cf6
mov eax, dword [ebp - 0x1c4]
inc eax
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1d0], 0
jne 0x7ef59d08
and dword [ebp - 0xc74], 0
jmp 0x7ef59d20
mov eax, dword [ebp - 0x1cc]
sub eax, dword [ebp - 0x1d0]
cdq
push 0x14
pop ecx
idiv ecx
mov dword [ebp - 0xc74], eax
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0xc74]
jae 0x7ef5a6e9
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xbac], eax
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0x178]
mov eax, dword [ebp - 0x1c4]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0xbac]
push dword [ecx + eax + 0xc]
push dword [ebp + 8]
call fcn.7ef5ab50
add esp, 0x10
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x64c]
lea ecx, [ebp - 0x638]
cmp eax, ecx
je 0x7ef59d93
push dword [ebp - 0x64c]
lea eax, [ebp - 0x638]
push eax
call fcn.7ef862c2
pop ecx
pop ecx
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef59dc8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xbb0], eax
push dword [ebp - 0xbb0]
lea eax, [ebp - 0x638]
push eax
push str.LoadLibraryA_W__s__implicitly_from__from__s__n
call fcn.7ef54190
add esp, 0xc
lea ecx, [ebp - 0x228]
call fcn.7ef529d5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 2
test eax, eax
je 0x7ef59df4
mov dword [ebp - 0x21c], 1
mov dword [ebp - 0x220], 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x200], eax
and dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 1
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x638]
push eax
call fcn.7ef76517
pop ecx
pop ecx
mov dword [ebp - 0x640], eax
and dword [ebp - 0x644], 0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x640], 0
je 0x7ef59e5b
push 1
lea eax, [ebp - 0x644]
push eax
push dword [ebp - 0x640]
call fcn.7ef6fa67
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x7ef59e95
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xbb4], eax
push dword [ebp - 0xbb4]
lea eax, [ebp - 0x638]
push eax
push str.missing_module
call fcn.7ef83a2c
pop ecx
push eax
push 0x29f
push str.X:_thinstall_stub_ts_imports.cc
call fcn.7ef85958
pop ecx
pop ecx
call eax
add esp, 0xc
mov eax, dword [ebp - 0x644]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xbb8], eax
mov eax, dword [ebp - 0xbb8]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.7ef856b8
lea eax, [ebp - 0x648]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x58
call fcn.7ef5717b
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.7ef856ec
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x400
test eax, eax
jne 0x7ef5a6c5
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xbcc], eax
mov eax, dword [ebp - 0x1c4]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0xbcc]
mov eax, dword [ecx + eax + 0x10]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x670]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0x1c4]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0xbd0]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x660], eax
cmp dword [ebp - 0x660], 0
jne 0x7ef59f67
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x660], eax
push dword [ebp - 0x660]
mov ecx, dword [ebp + 8]
call fcn.7ef5884f
push eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
call dword [eax + 8]
and dword [ebp - 0x65c], 0
and dword [ebp - 0x658], 0
mov dword [ebp - 0x654], 0x20
mov dword [ebp - 0x650], 0x20
push 0x20
pop eax
test eax, eax
jbe 0x7ef59fc5
push 0x20
pop eax
shl eax, 2
push eax
call fcn.7ef871a5
pop ecx
mov dword [ebp - 0x65c], eax
jmp 0x7ef59fcc
and dword [ebp - 0x65c], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x178]
call fcn.7ef866f4
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 0
je 0x7ef59ffb
push dword [ebp - 0x668]
lea ecx, [ebp - 0x65c]
call fcn.7ef5af70
cmp dword [ebp - 0x668], 0
jne 0x7ef59fd0
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbd4], eax
cmp dword [ebp - 0xbd4], 0
jne 0x7ef5a053
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5a04e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xbd8], eax
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xbd8]
push str._s___s_:_cant_patch__0_imports_names_n
call fcn.7ef54190
add esp, 0xc
jmp 0x7ef5a6ac
mov dword [ebp - 0x674], 1
push str.shlwapi
push dword [ebp - 0x1c]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
je 0x7ef5a078
nop
and dword [ebp - 0x674], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 4
test eax, eax
je 0x7ef5a0ea
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbdc], eax
mov eax, dword [ebp - 0xbdc]
shl eax, 2
push eax
push dword [ebp - 0x664]
mov ecx, dword [ebp + 8]
call fcn.7ef58756
movzx eax, al
test eax, eax
je 0x7ef5a0ea
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5a0e5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xbe0], eax
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xbe0]
push str._s___s_:_cant_patch__imports_are_located_in_a_shared_section_n
call fcn.7ef54190
add esp, 0xc
jmp 0x7ef5a6ac
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5a186
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbe4], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbe8], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xbf0], eax
push dword [ebp - 0xbe4]
mov eax, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0x664]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp + 8]
sub eax, dword [ecx + 0x18]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x664]
sub ecx, dword [eax + 0x18]
push ecx
mov eax, dword [ebp - 0xbec]
mov ecx, dword [ebp - 0x664]
lea eax, [ecx + eax*4]
push eax
push dword [ebp - 0x664]
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xbf0]
push str.patching__s___s___x__x__x__x__d_imports__n
call fcn.7ef54190
add esp, 0x20
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf4]
shl eax, 2
push eax
call fcn.7ef871a5
pop ecx
mov dword [ebp - 0x688], eax
mov eax, dword [ebp - 0x688]
mov dword [ebp - 0x678], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x18], 0
je 0x7ef5a1f1
push str.kernel32
lea eax, [ebp - 0x638]
push eax
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
je 0x7ef5a1f1
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbf8], eax
cmp dword [ebp - 0xbf8], 0x4b
jge 0x7ef5a1f1
mov dword [ebp - 0x14], 1
and dword [ebp - 0x684], 0
jmp 0x7ef5a207
mov eax, dword [ebp - 0x684]
inc eax
mov dword [ebp - 0x684], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xbfc], eax
mov eax, dword [ebp - 0x684]
cmp eax, dword [ebp - 0xbfc]
jge 0x7ef5a5a5
and dword [ebp - 0x68c], 0
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x65c]
mov eax, dword [ecx + eax*4]
and eax, 0x80000000
test eax, eax
jne 0x7ef5a455
lea eax, [ebp - 0xa9c]
push eax
push dword [ebp - 0x178]
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x65c]
mov eax, dword [ecx + eax*4]
inc eax
inc eax
push eax
push dword [ebp + 8]
call fcn.7ef5ab50
add esp, 0x10
mov dword [ebp - 0xaa0], eax
cmp dword [ebp - 0x18], 0
je 0x7ef5a2ba
push 0x7ef9726c
push dword [ebp - 0xaa0]
call fcn.7ef86167
pop ecx
pop ecx
test eax, eax
je 0x7ef5a29d
mov dword [ebp - 0x44], 1
jmp 0x7ef5a2ba
push 0x7ef97260
push dword [ebp - 0xaa0]
call fcn.7ef86167
pop ecx
pop ecx
test eax, eax
je 0x7ef5a2ba
mov dword [ebp - 0x20], 1
mov dword [ebp - 0xaa4], 1
cmp dword [ebp - 0x674], 0
jne 0x7ef5a330
cmp dword [ebp - 0xaa0], 0x10000
jb 0x7ef5a330
and dword [ebp - 0xaa4], 0
and dword [ebp - 0xaa8], 0
jmp 0x7ef5a2f6
mov eax, dword [ebp - 0xaa8]
inc eax
mov dword [ebp - 0xaa8], eax
mov eax, dword [ebp - 0xaa8]
cmp dword [eax*4 + 0x7efa232c], 0
je 0x7ef5a330
push dword [ebp - 0xaa0]
mov eax, dword [ebp - 0xaa8]
push dword [eax*4 + 0x7efa232c]
call fcn.7ef86167
pop ecx
pop ecx
test eax, eax
jne 0x7ef5a32e
mov dword [ebp - 0xaa4], 1
jmp 0x7ef5a2e9
push 1
pop eax
test eax, eax
je 0x7ef5a429
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x8000
test eax, eax
je 0x7ef5a373
mov eax, dword [ebp - 0x63c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc00], eax
push dword [ebp - 0xaa0]
push dword [ebp - 0xc00]
call dword [0x7ef962b8]
mov dword [ebp - 0x68c], eax
jmp 0x7ef5a3a2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc04], eax
push dword [ebp - 0x40]
push dword [ebp - 0xc04]
push dword [ebp - 0xaa0]
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x63c]
call fcn.7ef5906a
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 0
jne 0x7ef5a427
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc08], eax
push dword [ebp - 0x40]
push dword [ebp - 0xc08]
push dword [ebp - 0xaa0]
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x63c]
call fcn.7ef5906a
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 4
test eax, eax
jne 0x7ef5a427
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc0c], eax
push dword [ebp - 0xaa0]
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xc0c]
push str.missing_import
call fcn.7ef83a2c
pop ecx
push eax
push 0x321
push str.X:_thinstall_stub_ts_imports.cc
call fcn.7ef85958
pop ecx
pop ecx
call eax
add esp, 0x10
jmp 0x7ef5a450
mov eax, dword [ebp - 0x63c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc10], eax
push dword [ebp - 0xaa0]
push dword [ebp - 0xc10]
call dword [0x7ef962b8]
mov dword [ebp - 0x68c], eax
jmp 0x7ef5a562
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x65c]
mov eax, dword [ecx + eax*4]
and eax, 0xffff
mov word [ebp - 0xaac], ax
mov eax, dword [ebp - 0x648]
cmp eax, dword [0x7efa58e8]
jne 0x7ef5a497
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 4
test eax, eax
je 0x7ef5a497
and dword [ebp - 0x68c], 0
jmp 0x7ef5a562
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 0x8000
test eax, eax
je 0x7ef5a4e2
mov eax, dword [ebp - 0x648]
cmp eax, dword [0x7efa58e8]
je 0x7ef5a4e2
mov eax, dword [ebp - 0x63c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc14], eax
movzx eax, word [ebp - 0xaac]
push eax
push dword [ebp - 0xc14]
call dword [0x7ef962b8]
mov dword [ebp - 0x68c], eax
jmp 0x7ef5a562
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc18], eax
push dword [ebp - 0x40]
push dword [ebp - 0xc18]
movzx eax, word [ebp - 0xaac]
push eax
lea eax, [ebp - 0x638]
push eax
mov ecx, dword [ebp - 0x63c]
call fcn.7ef5906a
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 0
jne 0x7ef5a562
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc1c], eax
movzx eax, word [ebp - 0xaac]
push eax
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xc1c]
push str.missing_import_ord
call fcn.7ef83a2c
pop ecx
push eax
push 0x333
push str.X:_thinstall_stub_ts_imports.cc
call fcn.7ef85958
pop ecx
pop ecx
call eax
add esp, 0x10
cmp dword [ebp - 0x68c], 0
je 0x7ef5a582
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x688]
mov edx, dword [ebp - 0x68c]
mov dword [ecx + eax*4], edx
jmp 0x7ef5a5a0
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x688]
mov edx, dword [ebp - 0x684]
mov esi, dword [ebp - 0x664]
mov edx, dword [esi + edx*4]
mov dword [ecx + eax*4], edx
jmp 0x7ef5a1fa
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xc20], eax
lea eax, [ebp - 0x66c]
push eax
push 8
mov eax, dword [ebp - 0xc20]
shl eax, 2
push eax
push dword [ebp - 0x664]
call dword [0x7ef9604c]
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xc24], eax
lea eax, [ebp - 0x67c]
push eax
mov eax, dword [ebp - 0xc24]
shl eax, 2
push eax
push dword [ebp - 0x688]
push dword [ebp - 0x664]
call dword [0x7ef960c8]
push eax
call dword [0x7ef960cc]
mov dword [ebp - 0x680], eax
cmp dword [ebp - 0x680], 0
jne 0x7ef5a693
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5a693
push 0x1c
lea eax, [ebp - 0xac8]
push eax
push dword [ebp - 0x664]
call dword [0x7ef96050]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc28], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xc2c], eax
push dword [ebp - 0xab0]
push dword [ebp - 0xab8]
push dword [ebp - 0xabc]
push dword [ebp - 0xac8]
lea eax, [ebp - 0x638]
push eax
push dword [ebp - 0xc28]
mov eax, dword [ebp - 0xc2c]
shl eax, 2
push eax
push dword [ebp - 0x664]
push str._WriteProcessMemory_failed_write_addr_x__write_size_x_:_fixing_up_module__s__target_s__page_base_x_page_size_x_page_state_x_page_type_x
call fcn.7ef54190
add esp, 0x24
mov byte [ebp - 4], 6
cmp dword [ebp - 0x678], 0
je 0x7ef5a6ac
push dword [ebp - 0x678]
call fcn.7ef8726e
pop ecx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x65c], 0
je 0x7ef5a6c5
push dword [ebp - 0x65c]
call fcn.7ef8726e
pop ecx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x644], 0
je 0x7ef5a6e4
mov ecx, dword [ebp - 0x644]
call fcn.7ef72f1b
and dword [ebp - 0x644], 0
jmp 0x7ef59ce9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
cmp eax, dword [0x7efa58d8]
jne 0x7ef5a846
and dword [ebp - 0xacc], 0
jmp 0x7ef5a711
mov eax, dword [ebp - 0xacc]
inc eax
mov dword [ebp - 0xacc], eax
cmp dword [0x7efa5bc4], 0
je 0x7ef5a763
mov eax, dword [0x7efa5bc4]
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0xc30]
cmp dword [eax + 4], 0
jne 0x7ef5a73a
and dword [ebp - 0xc78], 0
jmp 0x7ef5a755
mov eax, dword [ebp - 0xc30]
mov ecx, dword [ebp - 0xc30]
mov eax, dword [eax + 8]
sub eax, dword [ecx + 4]
sar eax, 2
mov dword [ebp - 0xc78], eax
mov eax, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], eax
jmp 0x7ef5a76a
and dword [ebp - 0xc7c], 0
mov eax, dword [ebp - 0xacc]
cmp eax, dword [ebp - 0xc7c]
jge 0x7ef5a846
mov eax, dword [0x7efa5bc4]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc34], eax
mov eax, dword [ebp - 0xacc]
mov ecx, dword [ebp - 0xc34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0xad0]
mov eax, dword [eax + 0x2c]
shr eax, 4
and eax, 1
cmp eax, 1
jne 0x7ef5a841
lea ecx, [ebp - 0xb04]
call fcn.7ef529d5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
and eax, 2
test eax, eax
je 0x7ef5a7e3
mov dword [ebp - 0xaf8], 1
mov dword [ebp - 0xafc], 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xadc], eax
and dword [ebp - 0xad8], 0
mov dword [ebp - 0xad4], 1
mov eax, dword [ebp - 0xad0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc38], eax
lea eax, [ebp - 0xb04]
push eax
push dword [ebp - 0xc38]
call fcn.7ef76517
pop ecx
pop ecx
mov dword [ebp - 0xb08], eax
cmp dword [ebp - 0xb08], 0
je 0x7ef5a841
lea eax, [ebp - 0xb08]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x58
call fcn.7ef5717b
jmp 0x7ef5a704
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1d4]
call fcn.7ef5aec1
mov eax, dword [0x7efa59a4]
and eax, 0x400000
test eax, eax
je 0x7ef5aa60
cmp dword [ebp - 0x3c], 0
je 0x7ef5aa60
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
je 0x7ef5aa60
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc58], eax
push str.ws2_32
push dword [ebp - 0xc58]
call fcn.7ef864f0
pop ecx
pop ecx
test eax, eax
jne 0x7ef5aa60
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb28], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xb28]
add eax, dword [ecx + 0x1c]
mov dword [ebp - 0xb20], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xb28]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0xb14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xb28]
add eax, dword [ecx + 0x24]
mov dword [ebp - 0xb0c], eax
or dword [ebp - 0xb10], 0xffffffff
mov eax, dword [ebp - 0xb28]
mov eax, dword [eax + 0x14]
shl eax, 2
push eax
call fcn.7ef871a5
pop ecx
mov dword [ebp - 0xb1c], eax
mov eax, dword [ebp - 0xb28]
mov eax, dword [eax + 0x14]
shl eax, 2
push eax
push dword [ebp - 0xb20]
push dword [ebp - 0xb1c]
call fcn.7ef89190
add esp, 0xc
and dword [ebp - 0xb24], 0
and dword [ebp - 0xb18], 0
jmp 0x7ef5a94f
mov eax, dword [ebp - 0xb18]
inc eax
mov dword [ebp - 0xb18], eax
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb18]
cmp ecx, dword [eax + 0x18]
jae 0x7ef5aa1e
mov eax, dword [ebp - 0xb18]
mov ecx, dword [ebp - 0xb14]
cmp dword [ecx + eax*4], 0
jbe 0x7ef5aa19
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x18]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0xb18]
mov esi, dword [ebp - 0xb14]
mov edx, dword [esi + edx*4]
cmp edx, dword [ecx + eax + 0x50]
jae 0x7ef5aa19
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xb18]
mov edx, dword [ebp - 0xb14]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0xb30], eax
push dword [ebp - 0xb30]
mov eax, dword [ebp + 8]
push dword [eax + 0x38]
push 0
call fcn.7ef7cdae
add esp, 0xc
mov dword [ebp - 0xb2c], eax
cmp dword [ebp - 0xb2c], 0
je 0x7ef5aa19
mov eax, dword [ebp - 0xb18]
mov ecx, dword [ebp - 0xb0c]
movzx eax, word [ecx + eax*2]
mov dword [ebp - 0xb34], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xb2c]
sub ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0xb34]
mov edx, dword [ebp - 0xb1c]
mov dword [edx + eax*4], ecx
mov dword [ebp - 0xb24], 1
jmp 0x7ef5a942
cmp dword [ebp - 0xb24], 0
je 0x7ef5aa54
lea eax, [ebp - 0xb38]
push eax
mov eax, dword [ebp - 0xb28]
mov eax, dword [eax + 0x14]
shl eax, 2
push eax
push dword [ebp - 0xb1c]
push dword [ebp - 0xb20]
call dword [0x7ef960c8]
push eax
call dword [0x7ef960cc]
push dword [ebp - 0xb1c]
call fcn.7ef8726e
pop ecx
cmp dword [ebp - 0x18], 0
je 0x7ef5aa75
cmp dword [ebp - 0x14], 0
je 0x7ef5aa75
push dword [ebp + 8]
call fcn.7ef59504
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
or ah, 2
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x7c], eax
mov eax, dword [0x7efa2154]
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x7ef5aaa5
mov eax, dword [ebp + 8]
push dword [eax]
push str.imports_resolved_for__s_n
call fcn.7ef54190
pop ecx
pop ecx
mov byte [ebp - 0xb60], 1
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.7ef5aad1
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0xb60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret