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

Disassembly:
push edi
push esi
sub esp, 0x424
mov eax, dword [esp + 0x430]
mov esi, ecx
lea edi, [esp + 0x210]
jb 0x4126dd
jae 0x4126dd
call 0x1b62a55
je 0x4126e2
jne 0x4126e2
call 0xe892206f
xchg ebp, eax
loop 0x4126e8
mov ecx, edi
push eax
call fcn.0041097f
pop eax
movzx eax, word [edi + 0x210]
invalid
call [eax + 0xf]
mov bh, 0x87
adc byte [edx], al
add byte [eax], al
test ax, ax
jne 0x412725
mov eax, esp
jbe 0x4126fe
ja 0x4126fe
call fcn.0043376a
add byte [edi + 0x50], dl
push 0x210
push edi
push eax
call fcn.0040307b
add esp, 0xc
lea edx, [esp + 4]
mov ecx, dword [esi]
mov eax, dword [edx - 4]
jle 0x41271b
jg 0x41271b
call 0xe8912789
loopne 0x41279c
push 0
push eax
call 0x41a303
add byte [eax], al
pop ecx
pop edx
jg 0x41272a
jle 0x41272a
call 0x465ebaf
add byte [eax], al
add esp, 0x424
pop esi
pop edi
ret
xor esi, esi
jmp 0x412852
cmp byte [ebp + 0x50], dl
call fcn.00411d48
pop eax
pop ecx
mov eax, dword [edi]
mov edi, dword [eax + 8]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
add esi, edi
test bl, 1
mov dword [esp], ecx
je 0x412814
jno 0x4127bf
jo 0x4127bf
call 0x1bd2b40
jge 0x4127c4
jl 0x4127c4
call 0x1b32b3b
jae 0x4127c9
jb 0x4127c9
call 0x1bb2b48
jnp 0x4127ce
jp 0x4127ce
call 0x59c936
add byte [eax], al
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
lea ebx, [esp + 0x20]
lea edx, [esp + 8]
mov ecx, ebx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
jbe 0x4127ee
ja 0x4127ee
call 0x4074435a
add byte [ebp - 0x73], dl
inc esp
and al, 0x40
push 0x40331b
push ebp
lea eax, [esp + 0x40]
push eax
call fcn.0041a104
add esp, 0xc
jp 0x412806
jnp 0x412806
call 0x4bcab70
add byte [edi + edx*2 + 0x78], dh
add edi, dword [ecx + 1]
cmp word [ebx + 4], 0
je 0x412864
js 0x412812
jns 0x412812
call 0x5cce5101
and al, 0x28
jmp 0x41283c
lea ebx, [esp + 0x28]
jl 0x41281d
jge 0x41281d
call 0x38657cae
lea edx, [esp + 0x38]
mov ecx, ebx
push 0x403320
push ebp
call fcn.0041001e
pop eax
pop ecx
cmp word [ebx + 4], 0
je 0x412871
jb 0x41283c
jae 0x41283c
call 0x4c65b4cb
add dword [eax], eax
add byte [edx + 0x403264], bh
mov ecx, dword [esp + 0x14c]
mov edx, 0x403264
push 4
call fcn.0040f4b7
pop ecx
mov esi, eax
jle 0x412857
jg 0x412857
call 0xc4c318e4
cmp byte [ecx], al
add byte [eax], al
mov eax, esi
add esp, 0x138
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, edi
jl 0x41286b
jge 0x41286b
call 0x2065a4fa
mov edi, dword [esp + 0x20]
jmp 0x412897
mov ebx, edi
jg 0x412878
jle 0x412878
call 0x2865a507
mov edi, dword [esp + 0x28]
js 0x412881
jns 0x412881
call 0xab2aef
push 2
push 0
push 0
push 0
push edi
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x412944
sub dword [esp], ebx
xor ebp, ebp
jbe 0x4128a1
ja 0x4128a1
call 0x1bf2c24
jg 0x4128a6
jle 0x4128a6
call 0x1bb2c25
jnp 0x4128ab
jp 0x4128ab
call 0x29652d3a
call 0xfbca622a
mov eax, dword [esp]
sub eax, ebp
jbe 0x4128eb
mov ebx, edi
jle 0x4128b9
jg 0x4128b9
call 0x465a546
mov dword [esp + 4], edi
lea edi, [esi + ebp]
jb 0x4128c5
jae 0x4128c5
call 0x8657556
lea ecx, [esp + 8]
lea edx, [esp + 4]
push eax
push edi
call fcn.00417dd7
pop eax
pop ecx
cmp word [esp + 0xc], 0
jne 0x41290a
jae 0x4128e3
jb 0x4128e3
call 0x86594ea
add ebp, dword [esp + 8]
mov edi, ebx
jmp 0x4128a6
jb 0x4128f0
jae 0x4128f0
call 0x1b72c6b
ja 0x4128f5
jbe 0x4128f5
call 0x1b92c72
jns 0x4128fa
js 0x4128fa
call 0x40341155
add al, byte [eax]
push edi
call sub.ntdll.dll_NtClose
jb 0x412905
jae 0x412905
call 0x3f9bf2
dec dword [ebx + 0x14c248c]
add byte [eax], al
jmp 0x41277c
mov ecx, dword [esp + 0x14c]
jno 0x412916
jo 0x412916
call 0x1c02c98
jle 0x41291b
jg 0x41291b
call 0x1b72c96
ja 0x412920
jbe 0x412920
call 0x407452de
add byte [edx + 5], ch
mov edx, 0x403329
push 5
call fcn.0040f4b7
pop ecx
mov esi, eax
jg 0x412934
jle 0x412934
call 0x3ffa118b
add al, byte [eax]
push ebx
call sub.ntdll.dll_NtClose
jo 0x41293f
jno 0x41293f
call fcn.0040382c
push dword [eax + 3]
jmp 0x412852
jo 0x412949
jno 0x412949
call 0x27ffc35
add byte [ebx + 0x14c248c], cl
add byte [eax], al
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [esp + 0x14c]
jl 0x41295a
jge 0x41295a
call 0x40744e18
add byte [edx + 4], ch
mov edx, 0x403324
push 4
call fcn.0040f4b7
pop ecx
mov esi, eax
jno 0x41296e
jo 0x41296e
call 0x3fc011c9
add al, byte [eax]
push edi
call sub.ntdll.dll_NtClose
jl 0x412979
jge 0x412979
call 0x3ffe66
push dword [ebp + 3]
je 0x412983
jmp 0x412852
call 0xe8922af1
add dword [edi], edi
add al, byte [eax]
push 1
push ecx
call 0x43688c
test eax, eax
je 0x412993
xor eax, eax
jmp 0x4129a1
jno 0x412998
jo 0x412998
call 0x27fad84
add byte [esi - 0x48], ah
push cs
add byte [edi + 3], dh
call sub.KERNEL32.dll_GetLastError
mov ax, 0xe
ja 0x4129a6
jbe 0x4129a6
call 0x57947f6d
push esi
sub esp, 0x1f0
mov esi, dword [esp + 0x204]
jge 0x4129bd
ret
jl 0x4129bd
call 0x8b49704c
mov edi, dword cs:[esi + 4]
mov eax, dword [esi + 8]
mov ebp, dword [esi]
mov edi, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
jp 0x4129d0
jnp 0x4129d0
call 0x1b32d47
jae 0x4129d5
jb 0x4129d5
call 0x1c02d57
jle 0x4129da
jg 0x4129da
call 0x1be2d5a
jl 0x4129df
jge 0x4129df
call 0x1bc2d5d
jp 0x4129e4
jnp 0x4129e4
call 0x1b32d5b
jae 0x4129e9
jb 0x4129e9
call 0x1be2d69
jl 0x4129ee
jge 0x4129ee
call 0x4343a272
cmp byte [eax + 2], 0x43
jne 0x4129fd
js 0x4129f9
jns 0x4129f9
call 0x63436ac3
mov byte [eax + 2], 0x63
jb 0x412a02
jae 0x412a02
call 0xdc65be8f
add byte [eax], al
add byte [ecx + 0xe02484], cl
add byte [eax], al
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
lea ecx, [eax + 1]
lea eax, [esp + 0x154]
dec edx
mov dword [esp + 0xe4], edi
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea edi, [esp + 0x164]
mov ecx, dword [ebx + 0xf8]
mov edx, dword [ebx + 0xfc]
call 0x412a46
add al, ch
and dword [edi + 0x14], 0
and dword [edi + 0x10], 0
and dword [edi + 0x1c], 0
and dword [edi + 0x18], 0
and dword [edi + 0x24], 0
and dword [edi + 0x20], 0
and dword [edi + 0x2c], 0
and dword [edi + 0x28], 0
and dword [edi + 0x34], 0
and dword [edi + 0x30], 0
ja 0x412a74
jbe 0x412a74
call 0x9191fb
and dword [edi + 0x50], 0
and dword [edi + 0x4c], 0
and dword [edi + 0x58], 0
and dword [edi + 0x54], 0
and dword [edi + 0x60], 0
and dword [edi + 0x5c], 0
and dword [edi + 0x68], 0
and dword [edi + 0x64], 0
and dword [edi + 0x70], 0
and dword [edi + 0x6c], 0
and dword [edi + 0x78], 0
and dword [edi + 0x74], 0
and dword [edi + 0x80], 0
and dword [edi + 0x7c], 0
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], 2
and dword [edi + 0x40], 0
and dword [edi + 0x44], 0
and dword [edi + 0x48], 0
and dword [edi + 0x84], 0
lea eax, [ebx + 0xf8]
mov ecx, edi
mov dword [edi + 0x88], 1
mov word [edi + 0x84], 0x201
mov byte [edi + 0x86], 2
mov dword [esp + 4], eax
jp 0x412afd
jnp 0x412afd
call 0x4c61e9
add byte [esi - 0x7b], ah
sal byte [ebx + ebx - 0x18], 1
add byte [eax], al
add byte [eax], al
call 0xd0fc049b
inc eax
add byte [edx + 5], ch
call 0x413638
test ax, ax
je 0x412b22
call 0x412b0d
add al, ch
mov ecx, ebx
mov edx, 0x403ed0
push 5
call fcn.0040f4b7
pop ecx
jmp 0x412bfd
xor ecx, ecx
jo 0x412b29
jno 0x412b29
call 0x4465afba
add dword [eax], eax
add byte [ecx - 0x10], al
xadd dword [ebx], ecx
lea eax, [esp + 0x144]
inc ecx
lock xadd dword [ebx], ecx
mov dword [eax], edi
mov dword [eax + 4], 0x4163f2
js 0x412b43
jns 0x412b43
call 0xd9cafad0
mov edi, ecx
mov ecx, ebx
mov edx, edi
push eax
call fcn.00416437
pop ecx
test ax, ax
jne 0x412bfd
mov dword [esp + 0x10], edi
mov dword [esp], ebp
ja 0x412b65
jbe 0x412b65
call 0xedaef4
add byte [eax], al
mov eax, dword [ebx + 0xac]
ja 0x412b70
jbe 0x412b70
call 0x46597ff
mov ebp, dword [esp + 4]
lea edi, [esp + 0x108]
mov ecx, edi
mov edx, ebp
push eax
call fcn.00409822
pop eax
cmp word [edi + 0x14], 0
je 0x412b94
jle 0x412b92
jg 0x412b92
call 0x3b38781
jmp 0x412bef
jb 0x412b99
jae 0x412b99
call 0x1865b028
add dword [eax], eax
add dl, dh
movups xmm0, xmmword [esp + 0x108]
mov eax, dword [esp + 0x118]
movsd xmm0, qword [esp + 0x108]
movsd xmm1, qword [esp + 0x110]
lea edi, [esp + 0x120]
mov edx, ebp
mov ecx, edi
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x28], xmm0
mov eax, dword [ebx + 0xac]
jno 0x412bd8
jo 0x412bd8
call 0x6c86142c
invalid
push eax
call fcn.00409822
pop eax
cmp word [edi + 0x14], 0
je 0x412c95
jb 0x412bef
jae 0x412bef
call 0x1065807e
mov edx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0041699a
mov ebp, dword [esp]
lea ecx, [esp + 0x164]
jno 0x412c09
jo 0x412c09
call 0x82f8f5
add byte [edx + 3], bh
call 0x416dda
jp 0x412c13
jnp 0x412c13
call 0x465a8a2
mov edi, dword [esp + 4]
mov edx, dword [esp + 0xe0]
mov ecx, edi
push dword [esp + 0xdc]
call fcn.00409cb5
pop eax
je 0x412c32
jne 0x412c32
call 0xeacb25bf
mov ecx, edi
mov edx, ebp
push dword [esp + 0xe4]
call fcn.00409cb5
pop eax
mov al, 2
jp 0x412c4a
jnp 0x412c4a
call 0x1bc2fc8
jp 0x412c4f
jnp 0x412c4f
call 0x1bf2fd2
jg 0x412c54
jle 0x412c54
call 0x1b32fcb
jae 0x412c59
jb 0x412c59
call 0x1c02fdb
jle 0x412c5e
jg 0x412c5e
call 0x1b12fd3
jno 0x412c63
jo 0x412c63
call 0x1b22fd7
jo 0x412c68
jno 0x412c68
call 0x846172f2
sal byte [esp + edx - 0x7d], 0xc6
adc al, 0x76
add esi, dword [edi + 1]
xchg byte [esi + 0x20], al
test al, al
je 0x412c83
add esi, 0x14
jbe 0x412c77
ja 0x412c77
call 0x1bf2ffa
jg 0x412c7c
jle 0x412c7c
call 0x3e2a1e09
inc esp
add byte [eax], al
mov ecx, esi
call fcn.004170c0
jp 0x412c88
jnp 0x412c88
call 0xc4c2ecbd
lock add dword [eax], eax
add byte [esi + 0x5f], bl
xor eax, eax
add esp, 0x1f0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], ebx
jno 0x412c9e
jo 0x412c9e
call 0x3065b12d
add dword [eax], eax
add dl, dh
movups xmm0, xmmword [esp + 0x120]
mov eax, dword [esp + 0x130]
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
mov dword [esp + 0x4c], eax
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x3c], xmm0
ja 0x412ccc
jbe 0x412ccc
call 0x1bd304d
jge 0x412cd1
jl 0x412cd1
call 0x1be3051
jl 0x412cd6
jge 0x412cd6
call 0x34657965
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x48]
jne 0x413626
jno 0x412ce9
jo 0x412ce9
call 0x38657178
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x4c]
jne 0x413626
mov eax, dword [esp + 0x18]
lea ebx, [esp + 0x8c]
mov eax, dword [eax + 0xac]
mov dword [esp + 8], eax
jns 0x412d11
js 0x412d11
call 0x7c65b1a0
add dword [eax], eax
add byte [ebx + 0x184248c], cl
add byte [eax], al
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x184]
jl 0x412d24
jge 0x412d24
call 0x346581b3
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
and dword [ebx + 4], 0
and dword [ebx], 0
and dword [ebx + 0xc], 0
and dword [ebx + 8], 0
and dword [ebx + 0x14], 0
and dword [ebx + 0x10], 0
and dword [ebx + 0x1c], 0
and dword [ebx + 0x18], 0
and dword [ebx + 0x24], 0
and dword [ebx + 0x20], 0
xor ebp, ebp
inc ebp
mov dword [ebx - 0x2c], edi
mov dword [ebx - 0x30], edx
mov dword [ebx - 0x28], ebp
and dword [ebx - 0x24], 0
and dword [ebx - 0x20], 0
and dword [ebx - 0x1c], 0
lea ebx, [esp + 0x74]
mov dword [ebx], edx
mov edx, dword [0x403f84]
mov dword [ebx + 4], edi
lea edi, [esp + 0xb4]
mov dword [ebx + 8], ebp
and dword [ebx + 0xc], 0
and dword [ebx + 0x10], 0
and dword [ebx + 0x14], 0
xor ebx, ebx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov byte [edi + 0xc], 0
jle 0x412da3
jg 0x412da3
call 0x1b23117
jo 0x412da8
jno 0x412da8
call 0x1b93125
jns 0x412dad
js 0x412dad
call 0x83655a3c
sti
add bh, byte [eax + 3]
mov ebp, dword [esp]
cmp ebx, 2
js 0x412db8
jns 0x412db8
call 0x1f5b2cb
add byte [eax], al
jne 0x412f72
ja 0x412dc3
jbe 0x412dc3
call 0x8658a52
mov ebx, dword [esp + 8]
mov byte [esp + 0xc0], 1
jb 0x412dd4
jae 0x412dd4
call 0xbc65ba62
add byte [eax], al
add byte [ecx + 0x403e84], ah
mov cl, byte [esp + 0xbc]
mov eax, dword [0x403e84]
test cl, cl
je 0x412ed2
movzx eax, cl
jl 0x412df0
jge 0x412df0
call 0x1b9316d
jns 0x412df5
js 0x412df5
call 0xac2d63
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xbc]
push ecx
push eax
call sub.KERNEL32.dll_WaitForMultipleObjects
cmp eax, 0xffffffff
je 0x4130fc
jns 0x412e15
js 0x412e15
call 0x1b3318c
jae 0x412e1a
jb 0x412e1a
call 0x4ede42d
mov ebp, 0x8b000000
mov word [esp + esi*4 - 0x77000000], es
invalid
movzx ebp, byte [esp + eax + 0xbd]
mov ecx, dword [esp + eax*4 + 0xb4]
mov edi, eax
lea eax, [esp + 0x8c]
jnp 0x412e37
jp 0x412e37
call 0x1560ba6
ret
imul ebx, ebp, 0x14
add ebx, eax
push 0
lea eax, [esp + 0xf0]
push eax
push ebx
mov dword [esp + 0x28], ecx
push ecx
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x412f3a
imul eax, ebp, 0x18
jp 0x412e61
jnp 0x412e61
call 0x5c4572f2
lea eax, [esp + eax + 0x5c]
mov ecx, dword [eax + 0x14]
add ecx, dword [esp + 0xec]
je 0x412e74
jne 0x412e74
call 0x7f557701
add edi, dword [esi + 1]
mov dword [eax + 0x14], ecx
jg 0x412e7c
jle 0x412e7c
call 0x1c65830b
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xc4]
push eax
push ebx
call fcn.00416abe
pop eax
pop ecx
cmp word [esp + 0xc4], 0
mov ebp, dword [esp]
jne 0x413106
jb 0x412ea7
jae 0x412ea7
call 0xc665eb2b
add byte [eax], al
add byte [ecx], al
cmp byte [esp + 0xc6], 1
mov eax, dword [0x403e88]
mov ebx, dword [esp + 8]
jne 0x412ed2
lea ecx, [esp + 0xb4]
mov edx, edi
ja 0x412ec8
jbe 0x412ec8
call 0x7fb5b4
add byte [ecx + 0x403e88], ah
call 0x416d53
mov eax, dword [0x403e88]
test ax, ax
jl 0x412eda
jge 0x412eda
call 0x1b93257
jns 0x412edf
js 0x412edf
call 0x1be325f
jl 0x412ee4
jge 0x412ee4
call 0x26eb3f7
add byte [eax], al
jne 0x413117
bt eax, 0x10
js 0x412ef3
jns 0x412ef3
call 0x14eb206
add byte [eax], al
jae 0x413006
jno 0x412efe
jo 0x412efe
call 0x70658b3b
cmp dword [esp + 0x70], ebx
ja 0x413117
cmp dword [esp + 0x88], ebx
ja 0x413117
call 0x412f1b
add al, ch
cmp byte [esp + 0xc0], 0
jne 0x412f29
je 0x412f29
call 0x1c032ab
jle 0x412f2e
jg 0x412f2e
call 0x1bf32b1
jg 0x412f33
jle 0x412f33
call 0xc92a62ac
add byte [eax], al
add byte [ebx + eax + 0x75], dh
add eax, ebp
jne 0x412f68
jmp 0x413002
je 0x412f3f
jne 0x412f3f
call 0x27a0c2b
add byte [ebx - 0x7c99dbd4], cl
clc
insd dword es:[edi], dx
call sub.KERNEL32.dll_GetLastError
mov ebp, dword [esp]
cmp ax, 0x6d
jne 0x413106
lea ecx, [esp + 0xb4]
mov edx, edi
jae 0x412f5f
jb 0x412f5f
call 0x7f1f4b
add byte [ebx + 0x7b08245c], cl
add edi, dword [edx + 1]
call 0x416d53
mov ebx, dword [esp + 8]
jnp 0x412f6d
jp 0x412f6d
call 0x3f8d5a
push dword [edx + 3]
jmp 0x412dcf
jb 0x412f77
jae 0x412f77
call 0xb4ddec06
add byte [eax], al
add byte [ebx - 0x3d], ch
adc al, 0x8d
mov word [esp + ecx*4], fs
add byte [eax], al
add byte [edi + 3], dh
mov edi, dword [esp + ebx*4 + 0xb4]
imul eax, ebx, 0x14
lea ecx, [esp + 0x8c]
ja 0x412f8d
jbe 0x412f8d
call 0xcbacf792
sbb byte [ebp - 0x72a3f394], cl
dec esp
and al, 0x50
add eax, ecx
imul ecx, ebx, 0x18
lea ebp, [esp + ecx + 0x5c]
lea ecx, [esp + 0x50]
mov edx, edi
push ebp
mov ebp, dword [esp + 4]
push eax
call fcn.00416abe
pop eax
pop ecx
cmp word [esp + 0x50], 0
jne 0x413106
jp 0x412fba
jnp 0x412fba
call 0x5265ac3e
add dword [ecx + esi + 0x7f], esi
add edi, dword [esi + 1]
cmp byte [esp + 0x52], 1
je 0x412ff2
jg 0x412fc6
jle 0x412fc6
call 0x24c5e5d9
mov esp, 0x85000000
fisttp dword [ecx + 0xb484bc]
add byte [eax], al
movzx eax, byte [esp + 0xbc]
test ebx, ebx
mov dword [esp + eax*4 + 0xb4], edi
movzx eax, byte [esp + 0xbc]
setne byte [esp + eax + 0xbd]
inc al
and al, 3
mov byte [esp + 0xbc], al
inc ebx
jp 0x412ff8
jnp 0x412ff8
call 0x1b3336f
jae 0x412ffd
jb 0x412ffd
call 0x3edeea
push dword [ecx]
fucomi st(3)
bnd js 0x41300b
jmp 0x412db0
xor ebx, ebx
jmp 0x412ff8
js 0x41300b
jns 0x41300b
call 0x6c65749a
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x413036
call 0x413019
add al, ch
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
call 0x413028
add al, ch
add eax, ecx
push edx
push eax
push ecx
call fcn.0040307b
add esp, 0xc
js 0x41303b
jns 0x41303b
call 0x64657cca
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], 0xaaaaaaaa
and dword [esp + 0x68], 0
and dword [esp + 0x6c], 0
and dword [esp + 0x70], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edi
test eax, eax
je 0x4130a7
jns 0x41308a
js 0x41308a
call 0x7c657d19
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x88]
ja 0x41309a
jbe 0x41309a
call 0x5093f89f
add eax, ecx
push edx
push eax
push ecx
call fcn.0040307b
add esp, 0xc
jg 0x4130ac
jle 0x4130ac
call 0x7c657d3b
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x7c], 0xaaaaaaaa
and dword [esp + 0x80], 0
and dword [esp + 0x84], 0
and dword [esp + 0x88], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], edi
jmp 0x413117
jnp 0x413101
jp 0x413101
call 0x2784bed
add byte [ebx + 3], dh
call sub.KERNEL32.dll_GetLastError
jae 0x41310b
jb 0x41310b
call 0x4132f7
add byte [eax], al
call 0x1ba348e
call 0x413111
add al, ch
js 0x413117
jns 0x413117
call 0x1b83491
jbe 0x41311c
ja 0x41311c
call 0x24fde72f
mov esp, 0x31000000
fstp xword [ecx]
fbstp tbyte [ebx + eax + 0x75]
add eax, ebp
movzx edi, byte [esp + 0xbc]
xor ebx, ebx
cmp edi, ebx
je 0x41312d
jne 0x41312d
call 0x3b74ba5
je 0x413149
jbe 0x413134
ja 0x413134
call 0xb4ddb5c3
add byte [eax], al
add byte [eax + 3], dh
mov eax, dword [esp + ebx*4 + 0xb4]
jo 0x413140
jno 0x413140
call 0x36da1994
add al, byte [eax]
push eax
call 0x4367de
inc ebx
jmp 0x413126
lea ebx, [esp + 0x5c]
jp 0x413152
jnp 0x413152
call 0x3e2a0adf
cmp al, 0
add byte [ebp + 0x7e74244c], cl
add edi, dword [edi + 1]
mov ecx, ebx
call 0x416d96
lea ecx, [esp + 0x74]
jle 0x413162
jg 0x413162
call 0x7d614e
add byte [edx + 3], bh
call 0x416d96
jp 0x41316c
jnp 0x41316c
call 0x9865edf0
add dword [eax], eax
add byte [eax], al
cmp byte [esp + 0x198], 0
je 0x413189
lea ecx, [esp + 0x164]
jle 0x413182
jg 0x413182
call 0x7d856e
add bl, ch
adc dword [ebp + 0x164248c], ecx
add byte [eax], al
call 0x416dda
jmp 0x41319a
lea ecx, [esp + 0x164]
jbe 0x413195
ja 0x413195
call 0x7deb81
add byte [ebx + 3], dh
call 0x416e53
jae 0x41319f
jb 0x41319f
call 0x4065762e
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea edi, [esp + 0x28]
jp 0x4131b0
jnp 0x4131b0
call 0xe8922b3d
mov esp, 0x5900003d
mov ecx, edi
push eax
call fcn.00416f74
pop ecx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
jb 0x4131c3
jae 0x4131c3
call 0x1b13538
jno 0x4131c8
jo 0x4131c8
call 0x1b73543
ja 0x4131cd
jbe 0x4131cd
call 0x1b63545
je 0x4131d2
jne 0x4131d2
call 0x1be3552
jl 0x4131d7
jge 0x4131d7
call 0x1bd3558
jge 0x4131dc
jl 0x4131dc
call 0xab324a
push 0
push 0
mov dword [esp + 0x10], ecx
push ecx
mov dword [esp + 0x28], eax
push eax
push 2
push 0
call sub.KERNEL32.dll_MultiByteToWideChar
test eax, eax
je 0x413404
jp 0x413200
jnp 0x413200
call 0x4657e8f
mov ecx, dword [esp + 4]
lea edx, [esp + 0x14c]
lea edi, [esp + 0xf8]
movsd xmm0, qword [ecx]
mov ecx, edi
movsd qword [edx], xmm0
jns 0x413221
js 0x413221
call 0x3e361a75
add byte [eax], al
push eax
call 0x41701b
pop eax
xor edx, edx
cmp word [edi + 8], 0
mov edi, 0
jne 0x413490
jae 0x41323f
jb 0x41323f
call 0xfc65bece
add byte [eax], al
add byte [ebx + 0xf82484], cl
add byte [eax], al
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
je 0x413252
jne 0x413252
call 0xc657edf
mov dword [esp + 0xc], ecx
push ecx
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0x10]
push dword [esp + 0x28]
push 2
push 0
call sub.KERNEL32.dll_MultiByteToWideChar
test eax, eax
je 0x41340d
jge 0x41327a
jl 0x41327a
call 0x1b935f7
jns 0x41327f
js 0x41327f
call 0x1c03601
jle 0x413284
jg 0x413284
call 0x1c03606
jle 0x413289
jg 0x413289
call 0x1c0360b
jle 0x41328e
jg 0x41328e
call 0x1bb360d
jnp 0x413293
jp 0x413293
call 0x1b43609
jb 0x413298
jae 0x413298
call 0x1bf361b
jg 0x41329d
jle 0x41329d
call 0x1bf3620
jg 0x4132a2
jle 0x4132a2
call 0x465af31
mov edi, dword [esp + 4]
lea ebx, [esp + 0x5c]
mov ecx, ebx
mov edx, edi
push dword [esp + 0xc]
call fcn.00409822
pop eax
cmp word [ebx + 0x14], 0
jne 0x413435
jge 0x4132c8
jl 0x4132c8
call 0x6c657757
mov eax, dword [esp + 0x6c]
movsd xmm0, qword [esp + 0x5c]
movsd xmm1, qword [esp + 0x64]
lea ecx, [esp + 0xc4]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0xc]
lea eax, [ecx + ecx]
test ecx, ecx
cmove eax, ecx
push 2
pop ecx
cmovne ecx, dword [esp + 0x20]
lea edx, [esp + 0x138]
mov dword [esp + 0x24], 0
mov dword [edx], ecx
mov dword [edx + 4], eax
and dword [edx + 8], 0
lea ecx, [esp + 0x50]
lea edx, [esp + 0x138]
jnp 0x413327
jp 0x413327
call 0x14c713
jmp dword [esi - 0x7d]
call 0x4106bf
cmp word [esp + 0x58], 0
jne 0x41341c
jne 0x41333d
je 0x41333d
call 0x526577cb
mov al, byte [esp + 0x52]
movzx ecx, word [esp + 0x50]
cmp byte [esp + 0x54], 0
mov byte [esp + 0x16], al
mov word [esp + 0x14], cx
je 0x41356e
jne 0x41335f
je 0x41335f
call 0x2485e972
push ss
movzx eax, byte [esp + 0x16]
movzx edi, word [esp + 0x14]
lea ecx, [esp + 0xe8]
jo 0x413375
jno 0x413375
call 0x952143a
invalid
shl eax, 0x10
or edi, eax
mov edx, edi
call fcn.004107f0
jo 0x413386
jno 0x413386
call 0x24dde999
ljmp 0x2494
movzx ebx, byte [esp + 0xea]
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0xc4]
jnp 0x4133a1
jp 0x4133a1
call 0xf42a0da6
cmp al, 0
add byte [esi - 0x7b], ah
sal byte [ebp + 0x6f], 0x78
add edi, dword [ecx + 1]
add edx, ebx
call fcn.0041709b
test ax, ax
jne 0x41341c
js 0x4133b2
jns 0x4133b2
call 0xd865d03f
add byte [eax], al
add byte [ebx + 0xc82484], cl
add byte [eax], al
mov dword [esp + 0xd8], ebx
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xc4]
js 0x4133d0
jns 0x4133d0
call 0x465c061
add dword [eax], eax
add byte [ecx + 0x29dd01fa], cl
fcom dword [eax + 0x55]
lea ecx, [esp + 0x104]
mov edx, edi
add ebp, ebx
sub eax, ebx
push eax
push ebp
mov ebp, dword [esp + 8]
call fcn.00410860
pop eax
pop ecx
je 0x4133ef
jne 0x4133ef
call 0x1b9376c
jns 0x4133f4
js 0x4133f4
call 0xd865cffb
add byte [eax], al
add byte [ecx - 0x16dbdba4], cl
adc edi, edi
invalid
add ebx, dword [esp + 0xd8]
mov dword [esp + 0x24], ebx
jmp 0x413317
xor edx, edx
xor edi, edi
jmp 0x413490
jp 0x413412
jnp 0x413412
call 0x46578a1
mov eax, dword [esp + 4]
movsd xmm0, qword [eax]
jmp 0x413466
lea ecx, [esp + 0xc4]
jle 0x413428
jg 0x413428
call 0xffa99214
dec dword [ebx - 0x72fbdb84]
pop esp
and al, 0x5c
call 0x409c8a
mov edi, dword [esp + 4]
lea ebx, [esp + 0x5c]
jge 0x41343a
jl 0x41343a
call 0x1b237ae
jo 0x41343f
jno 0x41343f
call 0x1bb37be
jnp 0x413444
jp 0x413444
call 0x1bb37c3
jnp 0x413449
jp 0x413449
call 0x1ba37c5
js 0x41344e
jns 0x41344e
call 0x1ba37ca
js 0x413453
jns 0x413453
call 0x1b237c7
jo 0x413458
jno 0x413458
call 0x1bc37d6
jp 0x41345d
jnp 0x41345d
call 0x1be37dd
jl 0x413462
jge 0x413462
call 0x7514458
movsd xmm0, qword [edi]
movsd qword [esp + 0x5c], xmm0
mov dword [esp], 0
xor edi, edi
mov eax, dword [esp + 0xc]
call 0x41347f
add al, ch
mov edx, dword [esp + 0x20]
mov ecx, ebx
push eax
call fcn.00416fcc
pop eax
mov edx, dword [esp]
js 0x413495
jns 0x413495
call 0x1c03817
jle 0x41349a
jg 0x41349a
call 0x1bb3819
jnp 0x41349f
jp 0x41349f
call 0x1b63817
je 0x4134a4
jne 0x4134a4
call 0x1b8381e
jbe 0x4134a9
ja 0x4134a9
call 0x1c657938
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 8]
test edx, edx
mov dword [esp], edi
jle 0x4134bb
jg 0x4134bb
call 0x1865814a
mov ecx, dword [esp + 0x18]
cmovne ebx, edi
cmovne eax, edx
mov edi, edx
mov edx, dword [esp + 0x10]
push ebx
push eax
push 0
call fcn.0040f5de
add esp, 0xc
test ax, ax
je 0x41351c
test edi, edi
jae 0x4134e3
jb 0x4134e3
call 0x3b1495b
je 0x4134f9
jo 0x4134ea
jno 0x4134ea
call 0x4658179
mov ecx, dword [esp + 4]
mov edx, edi
push dword [esp]
call fcn.00409cb5
pop eax
lea ecx, [esp + 0x3c]
jae 0x413502
jb 0x413502
call 0xffa8b8ee
dec dword [ebp + 0x7628244c]
add esi, dword [edi + 1]
call 0x409c8a
lea ecx, [esp + 0x28]
jbe 0x413510
ja 0x413510
call 0xffa8aafc
push dword [ebp + 3]
call 0x409c8a
jne 0x41351a
je 0x41351a
call 0xffc67609
jmp 0x41355c
test edi, edi
jp 0x413523
jnp 0x413523
call 0x2294b9b
add byte [eax], al
add byte [eax], al
call 0x46581bb
je 0x41353b
call 0x41352b
add al, ch
mov ecx, dword [esp + 4]
mov edx, edi
push dword [esp]
call fcn.00409cb5
pop eax
lea ecx, [esp + 0x3c]
jbe 0x413544
ja 0x413544
call 0xffa87730
dec dword [ebp + 0x7328244c]
add esi, dword [edx + 1]
call 0x409c8a
lea ecx, [esp + 0x28]
jae 0x413552
jb 0x413552
call 0xffa8693e
invalid
call 0x409c8a
jnp 0x41355c
jp 0x41355c
call 0x186581eb
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
call fcn.0041699a
jmp 0x412bfd
lea edi, [esp + 0xec]
lea edx, [esp + 0xc4]
jp 0x413581
jnp 0x413581
call 0xbb2a2f0e
arpl di, di
jmp dword [esi - 0x7d]
mov ecx, edi
call fcn.00409942
cmp word [edi + 8], 0
lea ebx, [esp + 0x5c]
je 0x4135d5
lea ecx, [esp + 0xc4]
jg 0x41359f
jle 0x41359f
call 0xffa81c8b
invalid
call 0x409c8a
jg 0x4135a9
jle 0x4135a9
call 0x1b1391e
jno 0x4135ae
jo 0x4135ae
call 0x1bf3931
jg 0x4135b3
jle 0x4135b3
call 0x1b93930
jns 0x4135b8
js 0x4135b8
call 0x1b73933
ja 0x4135bd
jbe 0x4135bd
call 0x1bc393b
jp 0x4135c2
jnp 0x4135c2
call 0x1b8393c
jbe 0x4135c7
ja 0x4135c7
call 0x1ba3943
js 0x4135cc
jns 0x4135cc
call 0x465b25b
mov edi, dword [esp + 4]
jmp 0x41345d
jne 0x4135da
je 0x4135da
call 0xec65ba69
add byte [eax], al
add byte [ebx + 0xf024bc], cl
add byte [eax], al
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
mov dword [esp], eax
jge 0x4135f0
jl 0x4135f0
call 0x1b53969
jne 0x4135f5
je 0x4135f5
call 0x1ba3971
js 0x4135fa
jns 0x4135fa
call 0x1be397a
jl 0x4135ff
jge 0x4135ff
call 0x1b23973
jo 0x413604
jno 0x413604
call 0x1bc3982
jp 0x413609
jnp 0x413609
call 0x1b63981
je 0x41360e
jne 0x41360e
call 0x1bb398d
jnp 0x413613
jp 0x413613
call 0x46582a2
mov ecx, dword [esp + 4]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x5c], xmm0
jmp 0x413475
je 0x41362b
jne 0x41362b
call 0xb99b6a99
invalid
push 0x34
pop edx
mov ecx, 0x403e8c
call 0x416ab4
push ebp
push ebx
push edi
push esi
sub esp, 0x204
jge 0x413647
jl 0x413647
call 0xc5b7d5
add byte [eax], al
mov al, byte [ecx + 0x84]
lea edi, [ecx + 0x84]
mov dword [esp + 0x50], ecx
cmp al, 1
je 0x413679
jno 0x413660
jo 0x413660
call 0xc6efe4
add byte [eax], al
add dword [ecx + 0x7c0e74cb], ecx
add edi, dword [ebp + 1]
cmp byte [ecx + 0x85], 1
mov ebx, ecx
je 0x413679
jl 0x413670
jge 0x413670
call 0xc7f1f4
add byte [eax], al
add dword [ebp + 0x68], esi
cmp byte [ebx + 0x86], 1
jne 0x4136e1
lea esi, [esp + 0x134]
jl 0x413685
jge 0x413685
call 0x4080e343
add byte [ecx + 0x3fc468f1], cl
inc eax
add byte [edx + 0xc], ch
mov edx, 0x403fac
mov ecx, esi
push 0x403fc4
push 0xc
call fcn.00410a00
pop eax
pop ecx
movzx eax, word [esi + 4]
test ax, ax
jne 0x413fee
mov dword [esp + 4], edi
jnp 0x4136b0
jp 0x4136b0
call 0x3465e33f
add dword [eax], eax
add byte [esi + 3], bh
mov ebp, dword [esp + 0x134]
jle 0x4136bc
jg 0x4136bc
call 0x3b2a2049
inc edi
add byte [eax], al
mov ecx, ebp
call 0x417dfd
test ax, ax
je 0x4136fe
jg 0x4136cd
jle 0x4136cd
call 0xe907c026
sbb eax, 0x89000232
invalid
push ebp
mov esi, eax
call sub.ntdll.dll_NtClose
mov eax, esi
jnp 0x4136dc
jp 0x4136dc
call 0x4a44c9
add byte [edi], cl
mov dh, 0xc0
jmp 0x413fee
movzx eax, al
mov dword [esp + 4], edi
mov dword [esp + 0x20], 0
jbe 0x4136f5
ja 0x4136f5
call 0x2541002a
test esp, edi
movsb byte es:[edi], byte [esi]
inc ebx
add byte [ebp + 3], dh
xor ecx, ecx
jmp dword [eax*4 + 0x43a4fc]
jne 0x413703
je 0x413703
call 0x4657b92
mov eax, dword [esp + 4]
mov cl, 1
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov al, byte [eax]
jbe 0x413716
ja 0x413716
call 0x506593a5
mov ebx, dword [esp + 0x50]
movzx eax, al
jmp dword [eax*4 + 0x43a4fc]
jb 0x413ff3
jae 0x413ff3
call 0x2460478
add byte [eax], al
add esp, 0x204
pop esi
pop edi
pop ebx
pop ebp
ret