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

Disassembly:
mov eax, 0x17c0
call fcn.005865a0
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x17bc], eax
push ebx
mov ebx, dword [esp + 0x17c8]
push ebp
push esi
xor esi, esi
lea eax, [ebx - 9]
push edi
mov edi, dword [esp + 0x17d8]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
cmp eax, 0x3f
ja case.0x4018e0.33
jmp dword [eax*4 + 0x404210]
mov eax, dword [edi + 4]
push ebx
call eax
mov ecx, dword [0x5b46b0]
add esp, 4
mov ebp, eax
mov dword [ecx], 1
jmp 0x4025fa
mov edx, dword [edi + 4]
push ebx
call edx
mov ebp, eax
mov eax, dword [0x5b46ac]
add esp, 4
mov dword [eax + 0xd33], 1
jmp 0x4025fa
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1f4]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [esp + 0x1f4]
cmp eax, dword [0x67d280]
je 0x40197f
push 0x2b16
call fcn.004073f0
mov ecx, dword [edi]
push ebx
mov dword [edi + 0x28], eax
call ecx
push 0x65c980
call fcn.00411c20
add esp, 0xc
mov dword [0x67d27c], 0x65c140
mov eax, 3
jmp 0x4041f4
mov edx, dword [edi]
push ebx
call edx
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
cmp dword [edi + 0x28], esi
jne 0x404108
mov eax, 1
jmp 0x4041f4
mov eax, dword [edi + 4]
push ebx
call eax
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
lea ecx, [esp + 0x32c]
push ecx
call fcn.00415060
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi]
lea edx, [esp + 0x32c]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
jmp 0x4025fa
mov eax, dword [str.public]
xor esi, esi
cmp byte [eax + 0x5a1], 0
push 0x5a8460
je 0x401a27
add eax, 0x5a2
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x401a3c
mov ecx, dword [str.public]
push 0x5a8460
add ecx, 0x5a2
push ecx
jmp 0x401a2c
push str.queryplan
push 0x23ca
call fcn.004073f0
mov dword [edi + 0x28], eax
add esp, 0xc
mov edx, dword [edi + 4]
push ebx
call edx
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x401a5c
cmp dword [edi + 0x28], eax
jne 0x401a5c
push eax
mov eax, dword [edi]
push esi
push ebx
call eax
add esp, 0xc
mov ebp, eax
test esi, esi
je 0x4025fa
push esi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
jmp 0x4025fa
mov ecx, dword [0x5b46ac]
mov edx, dword [ecx + 0x343]
push edx
lea eax, [esp + 0xbd0]
push 0x5a8530
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edx, dword [edi + 4]
lea ecx, [esp + 0xc18]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0x14
cmp ebp, esi
jne 0x4025fa
mov eax, dword [edi + 8]
cmp eax, esi
je 0x401ac2
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
lea eax, [esp + 0xbcc]
push eax
lea ecx, [esp + 0xc10]
push ecx
call fcn.00414910
add esp, 8
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi]
lea edx, [esp + 0xbcc]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
jmp 0x4025fa
call fcn.004052c0
mov ecx, dword [eax]
mov dword [esp + 0xba0], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0xba4], ecx
mov edx, dword [eax + 8]
mov eax, dword [0x67d29c]
mov dword [esp + 0xba8], edx
test al, 1
jne 0x401b35
shr ecx, 0x10
and ecx, 0xfffffffe
mov word [esp + 0xba6], cx
test eax, 0x100
jne 0x401b49
mov eax, 0xfffffeff
and word [esp + 0xba6], ax
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 4]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x401b68
mov eax, dword [edi + 8]
cmp eax, esi
je 0x401b68
call eax
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x30]
mov ecx, 0x800
test word [eax + 6], cx
jne 0x401b89
mov edx, 0xfffffdff
and word [esp + 0xba6], dx
mov ecx, edx
and word [eax + 6], cx
test dword [esp + 0xba6], 0x2000
jne 0x401ba2
mov eax, dword [edi + 0x30]
mov edx, 0xffffdfff
and word [eax + 6], dx
mov eax, dword [edi + 0x30]
mov ecx, 0x8000
test word [eax + 6], cx
je 0x401bc0
mov edx, dword [0x5b46ac]
mov dword [edx + 0x336], 1
test byte [0x67d29c], 1
je 0x401c06
mov eax, dword [edi + 0x30]
movzx eax, word [eax + 6]
mov ecx, eax
and ecx, 0x801
mov edx, 0x801
cmp cx, dx
je 0x401c06
and eax, 0x201
mov ecx, 0x201
cmp ax, cx
je 0x401c06
push 0x2b56
call fcn.004073f0
add esp, 4
mov dword [edi + 0x28], eax
jmp 0x4025fa
mov eax, dword [edi]
lea edx, [esp + 0xba0]
push edx
push ebx
call eax
mov ecx, dword [edi + 0x30]
movsx edx, word [ecx + 6]
mov ebp, eax
mov eax, dword [0x67d29c]
and edx, eax
add esp, 8
test dl, 1
je 0x401c35
mov dword [0x65c9bc], 1
mov ecx, dword [edi + 0x30]
movsx edx, word [ecx + 6]
and edx, eax
test edx, 0x100
je 0x4025fa
mov dword [0x65c9b8], 1
jmp 0x4025fa
call fcn.0056c2e0
mov dword [esp + 0x170], eax
cmp dword [edi + 0x10], esi
je 0x401c8a
mov ecx, dword [0x5b46ac]
xor eax, eax
cmp ebx, 0x33
sete al
mov dword [ecx + 0x33a], eax
mov edx, dword [0x5b46ac]
mov dword [edx + 0x33e], esi
mov eax, dword [edi + 4]
push 0x65c209
push ebx
call eax
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x401cc9
cmp dword [edi + 0x10], esi
jne 0x401cc9
mov edx, dword [0x67d294]
xor ecx, ecx
cmp ebx, 0x33
sete cl
push ecx
push esi
push edx
push 4
push esi
push 0x65c188
push 1
call fcn.004253c0
add esp, 0x1c
mov dword [edi + 0x28], eax
cmp byte [0x65c967], 0
jne 0x401cdb
cmp byte [0x65c966], 0x4e
je 0x401ce2
or dword [0x67d29c], 1
cmp byte [0x65c968], 0
je 0x401cf5
or dword [0x67d29c], 0x100
cmp dword [edi + 0x10], esi
jne 0x401d0c
xor eax, eax
cmp dword [0x65c7eb], 1
sete al
mov word [0x67d2b4], ax
cmp ebp, esi
jne 0x401d41
cmp dword [edi + 0x28], esi
jne 0x401d41
mov edx, dword [edi]
lea ecx, [esp + 0x170]
push ecx
push 0x67d2b4
push ebx
call edx
mov ebp, eax
add esp, 0xc
cmp ebp, esi
jne 0x401d41
cmp dword [edi + 0x28], esi
jne 0x401d41
mov dword [edi + 0x10], 1
jmp 0x404108
cmp dword [edi + 0x10], esi
jne 0x4025fa
mov dword [edi + 0x14], 1
jmp 0x4025fa
mov eax, dword [edi + 4]
push ebx
call eax
add esp, 4
mov ebp, eax
cmp dword [edi + 0x10], esi
je 0x401d77
call fcn.004128d0
push esi
call fcn.00425c90
add esp, 4
mov dword [edi + 0x28], eax
cmp ebp, esi
jne 0x401d8a
cmp dword [edi + 0x28], esi
jne 0x401d8a
mov ecx, dword [edi]
push ebx
call ecx
add esp, 4
mov ebp, eax
mov dword [edi + 0x10], esi
jmp 0x4025fa
call fcn.00416210
cmp dword [0x67d288], esi
jne 0x401dab
mov dword [edi + 0x14], 1
mov dword [edi + 0x10], esi
jmp 0x401dc5
mov edx, dword [0x67d280]
push 1
push edx
call fcn.00413620
add esp, 8
mov dword [edi + 0x28], eax
mov dword [0x67d280], esi
mov eax, dword [edi + 4]
push ebx
call eax
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
call fcn.00414900
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
cmp dword [0x67d288], esi
jne 0x4040c5
push esi
call fcn.00425c90
add esp, 4
jmp 0x4040be
lea edx, [esp + 0x564]
push edx
mov edx, dword [edi + 4]
lea eax, [esp + 0xbb0]
push eax
lea ecx, [esp + 0xe54]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0x10
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x30]
push eax
lea ecx, [esp + 0x568]
push ecx
lea edx, [esp + 0xbb4]
push edx
lea eax, [esp + 0xe58]
push eax
call fcn.00417970
jmp 0x4040bb
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x401e93
call fcn.00401190
mov edx, dword [edi + 0x1c]
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 0x1c], 0
mov edx, dword [edi + 4]
lea esi, [edi + 0x2c]
push esi
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x534]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x401f1a
mov eax, dword [esi]
push eax
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x401f1a
mov eax, dword [esp + 0x1f0]
lea ecx, [esp + 0x1f8]
push ecx
lea edx, [esp + 0x530]
push edx
push eax
push ebx
call fcn.00416180
add esp, 0x10
mov dword [edi + 0x28], eax
test eax, eax
jne 0x401f1a
mov edx, dword [edi]
lea ecx, [esp + 0x1f8]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x4025fa
cmp dword [edi + 0x28], 0
jne 0x404108
call fcn.00415000
test eax, eax
jne 0x404108
push eax
push 0xffffffffffffffff
push 2
call fcn.00419b90
add esp, 0xc
jmp 0x404108
mov eax, dword [str.public]
add eax, 0x12c
push eax
lea ecx, [esp + 0x224]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x230]
push edx
lea eax, [esp + 0x58c]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 0x14
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x401fc0
mov edx, dword [esp + 0x220]
mov eax, dword [esp + 0x228]
push 1
push edx
push eax
lea ecx, [esp + 0x58c]
push ecx
call fcn.00415160
add esp, 0x10
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x401fc0
mov edx, dword [edi]
push ebx
call edx
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
cmp dword [edi + 0x28], esi
jne 0x404108
push esi
push 1
push 2
call fcn.00419b90
add esp, 0xc
jmp 0x404108
mov ecx, dword [edi + 4]
lea eax, [esp + 0x230]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x40201a
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0x24]
add edx, dword [esp + 0x230]
push edx
call fcn.004180f0
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi]
push ebx
call eax
add esp, 4
mov ebp, eax
jmp 0x4025fa
xor eax, eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x23c]
push edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov word [esp + 0xcc], ax
lea esi, [edi + 0x2c]
push esi
lea eax, [esp + 0x24c]
push eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x270]
push edx
push ebx
mov dword [esp + 0xda], 0x65c9c8
call eax
mov ebp, eax
add esp, 0x1c
test ebp, ebp
jne 0x40218b
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x4020d6
cmp dword [esp + 0x7c], 0xffffffff
movsx eax, word [esp + 0x30]
je 0x4020dd
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40218b
mov eax, dword [edi + 8]
test eax, eax
je 0x402108
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40218b
mov ecx, dword [esi]
push ecx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40218b
mov edx, dword [esp + 0x238]
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x240]
push edx
mov edx, dword [esp + 0x80]
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0x264]
push ecx
push edx
push eax
call fcn.004182b0
add esp, 0x14
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40218b
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0xc]
sub dword [esp + 0xb0], ecx
test eax, eax
je 0x402179
mov edx, dword [esp + 0xb6]
push edx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40218b
mov ecx, dword [edi]
lea eax, [esp + 0xb0]
push eax
push ebx
call ecx
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0xc2]
jmp 0x403a0f
xor eax, eax
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], eax
mov word [esp + 0x2a8], ax
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x19c]
push eax
lea esi, [edi + 0x2c]
push esi
lea ecx, [esp + 0x140]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x1b4]
push eax
push ebx
mov dword [esp + 0x2be], 0x65c9c8
call ecx
mov ebp, eax
add esp, 0x1c
test ebp, ebp
jne 0x402295
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402223
cmp dword [esp + 0x60], 0xffffffff
movsx eax, word [esp + 0x38]
je 0x40222a
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402295
mov edx, dword [esi]
push edx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402295
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x134]
push eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x298]
push ecx
mov ecx, dword [esp + 0x1a8]
push edx
push eax
push ecx
call fcn.00416850
add esp, 0x14
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402295
mov eax, dword [edi]
lea edx, [esp + 0x294]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0x2a6]
jmp 0x403a0f
xor eax, eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], eax
mov word [esp + 0x2d8], ax
mov dword [esp + 0x2d2], 0x65c9c8
cmp dword [edi + 0x1c], esi
jne 0x402308
push 0x1724
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [edi + 0x1c], eax
cmp eax, esi
jne 0x402308
push 0x1724
push 0x717
call fcn.004073f0
add esp, 8
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x402347
mov byte [eax + 0x712], 0
mov ecx, dword [edi + 0x1c]
mov byte [ecx + 0x312], 0
mov edx, dword [edi + 0x1c]
mov byte [edx + 0x201], 0
mov eax, dword [edi + 0x1c]
mov byte [eax + 0x200], 0
mov ecx, dword [edi + 0x1c]
mov byte [ecx + 0x311], 0
mov edx, dword [edi + 0x1c]
mov dword [edx + 0x309], esi
mov edx, dword [edi + 4]
lea eax, [esp + 0x40]
push eax
lea esi, [edi + 0x2c]
push esi
push 0x65c9c0
lea ecx, [esp + 0x148]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x4023f3
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x40238d
cmp dword [0x65c9c0], 0xffffffff
movsx eax, word [esp + 0x40]
je 0x402394
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x4023f3
mov eax, dword [esi]
push eax
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x4023f3
mov ecx, dword [edi + 0x30]
movzx edx, word [ecx + 4]
mov eax, dword [edi + 0x1c]
push edx
add eax, 0x200
push eax
mov eax, dword [0x65c9c0]
lea ecx, [esp + 0xc54]
push ecx
mov ecx, dword [esp + 0x148]
lea edx, [esp + 0x2d0]
push edx
push eax
push ecx
call fcn.00416a10
add esp, 0x18
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], 0
jne 0x40245b
mov edx, dword [0x5b6088]
mov eax, dword [edi + 0x1c]
push edx
push eax
lea ecx, [esp + 0xc54]
push ecx
call fcn.0056ab20
mov eax, dword [edi + 0x1c]
add esp, 0xc
cmp byte [eax + 0x200], 0
je 0x402441
lea ecx, [esp + 0xc4c]
lea edx, [eax + 0x201]
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x402430
mov byte [esp + 0xc4c], al
mov ecx, dword [edi]
lea edx, [esp + 0xc4c]
push edx
lea eax, [esp + 0x2c8]
push eax
push ebx
call ecx
add esp, 0xc
mov ebp, eax
mov eax, dword [esp + 0x2d6]
jmp 0x403a0f
mov edx, dword [edi + 4]
xor esi, esi
push ebx
mov dword [esp + 0x18], esi
call edx
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4025f3
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404101
mov eax, dword [edi + 0x1c]
cmp byte [eax + 0x200], 0
jne 0x4024d5
mov ecx, dword [str.public]
mov edx, dword [ecx + 0x159]
push 0x5a852c
push edx
add eax, 0x201
push eax
call fcn.0056a970
add esp, 0xc
test eax, eax
jne 0x4024d5
push 0x100
push 0x717
call fcn.004073f0
add esp, 8
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], esi
jne 0x4025d7
mov eax, dword [edi + 0x1c]
push eax
call fcn.004188d0
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x4025d7
mov eax, dword [edi + 0x1c]
cmp byte [eax + 0x200], 0
jne 0x402589
cmp byte [eax + 0x311], 0
mov ebx, dword [sym.imp.MSVCR90.dll_fopen]
je 0x402549
add eax, 0x312
push 0x5a8460
push eax
call ebx
mov esi, eax
add esp, 8
test esi, esi
jne 0x402549
mov ecx, dword [edi + 0x1c]
push 0x5a8460
add ecx, 0x312
push ecx
push 0x713
call fcn.004073f0
add esp, 0xc
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], 0
jne 0x4025b6
mov edx, dword [edi + 0x1c]
add edx, 0x201
push 0x5a8528
push edx
call ebx
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x402589
mov eax, dword [edi + 0x1c]
push 0x5a8528
add eax, 0x201
push eax
push 0x713
call fcn.004073f0
add esp, 0xc
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], 0
jne 0x4025b6
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x1c]
push ecx
mov ecx, dword [edi]
lea edx, [eax + 0x301]
push esi
push edx
add eax, 0x311
push eax
mov eax, dword [esp + 0x17e4]
push eax
call ecx
add esp, 0x14
mov ebp, eax
mov ebx, dword [sym.imp.MSVCR90.dll_fclose]
test esi, esi
je 0x4025c6
push esi
call ebx
add esp, 4
cmp dword [esp + 0x14], 0
je 0x4025d7
mov edx, dword [esp + 0x14]
push edx
call ebx
add esp, 4
mov esi, dword [edi + 0x1c]
call fcn.00401190
mov eax, dword [edi + 0x1c]
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 0x1c], 0
mov ebx, dword [esp + 0x17d4]
cmp ebp, 0x2af9
je 0x40260e
cmp ebp, 0x2afa
jne 0x404108
cmp dword [0x67d288], 0
je 0x4041ef
mov eax, dword [edi]
push eax
push 1
push 0
call section..text
add esp, 0xc
neg eax
sbb eax, eax
neg eax
inc eax
jmp 0x4041f4
mov eax, dword [edi + 0x1c]
xor ebx, ebx
cmp byte [eax + 0x200], bl
jne 0x4027fe
mov ecx, dword [str.public]
mov edx, dword [ecx + 0x159]
push 0x5a852c
push edx
add eax, 0x201
push eax
xor esi, esi
call fcn.0056a970
add esp, 0xc
test eax, eax
jne 0x402682
push 0x100
push 0x717
call fcn.004073f0
add esp, 8
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], ebx
jne 0x4026c3
mov eax, dword [edi + 0x1c]
add eax, 0x201
push 0x5a8524
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4026c3
mov ecx, dword [edi + 0x1c]
push 0x5a8524
add ecx, 0x201
push ecx
push 0x713
call fcn.004073f0
add esp, 0xc
mov dword [edi + 0x28], eax
mov edx, dword [esp + 0x17d4]
mov eax, dword [edi + 4]
push 0
push esi
push edx
call eax
add esp, 0xc
mov ebp, eax
test esi, esi
je 0x4026fb
push esi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
cmp eax, 0xffffffff
jne 0x4026fb
push 0x715
call fcn.004073f0
add esp, 4
mov dword [edi + 0x28], eax
test ebp, ebp
jne 0x4027d7
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x4027d7
test esi, esi
je 0x4027d7
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.004188d0
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x4027d7
mov eax, dword [edi + 0x1c]
cmp byte [eax + 0x311], bl
je 0x402788
add eax, 0x312
push 0x5a8460
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x402775
mov edx, dword [edi + 0x1c]
push 0x5a8460
add edx, 0x312
push edx
push 0x713
call fcn.004073f0
add esp, 0xc
jmp 0x402785
mov ecx, dword [edi + 0x1c]
lea eax, [edi + 0x18]
push eax
push ecx
call fcn.00424d20
add esp, 8
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], 0
jne 0x4027b0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi]
lea edx, [eax + 0x301]
push ebx
push edx
add eax, 0x311
push eax
mov eax, dword [esp + 0x17e0]
push eax
call ecx
add esp, 0x10
mov ebp, eax
test ebx, ebx
je 0x4027d7
push ebx
call dword [sym.imp.MSVCR90.dll_fclose]
mov edx, dword [edi + 0x1c]
add edx, 0x312
push edx
call sub.MSVCR90.dll__unlink
mov eax, dword [edi + 0x1c]
add esp, 8
mov byte [eax + 0x312], 0
mov esi, dword [edi + 0x1c]
cmp byte [esi + 0x311], 0
je 0x4027f0
test ebp, ebp
jne 0x4027f0
cmp dword [edi + 0x28], ebp
je 0x404101
call fcn.00401190
mov ecx, dword [edi + 0x1c]
push ecx
jmp 0x4025e3
mov edx, dword [esp + 0x17d4]
mov eax, dword [edi + 4]
push 0
push 0
push edx
call eax
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4025f3
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402890
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.004188d0
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402890
mov eax, dword [edi + 0x1c]
cmp byte [eax + 0x311], bl
je 0x402890
lea edx, [esp + 0x1a8]
push edx
push eax
call fcn.00424d20
add esp, 8
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402875
mov eax, dword [esp + 0x1a8]
mov ecx, dword [edi + 0x1c]
push eax
push ecx
call fcn.00401330
add esp, 8
mov dword [edi + 0x28], eax
mov edx, dword [edi + 0x1c]
add edx, 0x312
push edx
call sub.MSVCR90.dll__unlink
mov eax, dword [edi + 0x1c]
add esp, 4
mov byte [eax + 0x312], bl
cmp dword [edi + 0x28], ebx
jne 0x404101
mov eax, dword [edi + 0x1c]
mov edx, dword [esp + 0x17d4]
lea ecx, [eax + 0x301]
push 0
push ecx
add eax, 0x311
push eax
mov eax, dword [edi]
push edx
call eax
add esp, 0x10
mov ebp, eax
jmp 0x4025f3
mov ecx, dword [edi + 0x18]
lea edx, [esp + 0x2dc]
push edx
lea eax, [esp + 0x17]
push eax
mov dword [esp + 0x2ec], ecx
mov ecx, dword [edi + 4]
push ebx
mov dword [esp + 0x2e8], 2
call ecx
mov ebp, eax
mov eax, dword [0x67d2a4]
add esp, 0xc
cmp ebp, esi
jne 0x40294b
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x40294b
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x40294b
cmp byte [esp + 0x13], 0
je 0x40292a
mov edx, dword [esp + 0x2e0]
mov dword [eax + 0xb1a], edx
mov eax, dword [edi + 0x1c]
push eax
call fcn.00424e50
add esp, 4
mov dword [edi + 0x28], eax
jmp 0x40295f
push eax
call fcn.00424f10
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x40295f
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.004188d0
add esp, 4
mov dword [edi + 0x28], eax
jmp 0x40295f
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x40295b
push eax
call fcn.00424f10
add esp, 4
cmp ebp, esi
jne 0x402978
cmp dword [edi + 0x28], esi
jne 0x402978
mov edx, dword [edi + 0x1c]
mov eax, dword [edi]
add edx, 0x301
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
cmp byte [esp + 0x13], 0
je 0x40298c
cmp ebp, esi
jne 0x40298c
cmp dword [edi + 0x28], esi
je 0x404101
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4025fa
call fcn.00401190
mov ecx, dword [edi + 0x1c]
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 0x1c], 0
jmp 0x4025fa
mov edx, dword [edi + 0x24]
xor eax, eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov word [esp + 0x10c], ax
lea eax, [esp + 0x48]
push eax
add edx, 0xa
lea ecx, [esp + 0x148]
push ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x100], edx
lea esi, [edi + 0x2c]
push esi
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x1c0]
push eax
push ebx
mov dword [esp + 0x11e], 0x65c9c8
call ecx
mov ebp, eax
add esp, 0x18
test ebp, ebp
jne 0x402b03
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402a46
cmp dword [esp + 0x58], 0xffffffff
movsx eax, word [esp + 0x48]
je 0x402a4d
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402b03
mov eax, dword [edi + 8]
test eax, eax
je 0x402a78
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402b03
mov edx, dword [esi]
push edx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402b03
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0x144]
push eax
mov eax, dword [edi + 0x34]
push ecx
lea edx, [esp + 0x2fc]
push edx
mov edx, dword [edi + 0x20]
push eax
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x1c4]
push edx
push eax
push ecx
call fcn.00419850
add esp, 0x20
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402b03
mov eax, dword [edi + 0xc]
test eax, eax
je 0x402ae5
mov edx, dword [esp + 0xfe]
push edx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402b03
mov ecx, dword [edi + 0x34]
lea eax, [esp + 0x2f4]
push eax
mov eax, dword [edi]
push ecx
lea edx, [esp + 0x100]
push edx
push ebx
call eax
add esp, 0x10
mov ebp, eax
mov eax, dword [esp + 0x10a]
jmp 0x403a0f
xor eax, eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [edi + 4]
lea esi, [edi + 0x2c]
push esi
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], eax
lea edx, [esp + 0x54]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], eax
mov word [esp + 0x280], ax
push edx
lea eax, [esp + 0x158]
push eax
push ebx
mov dword [esp + 0x286], 0x65c9c8
call ecx
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x402c2c
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402b8b
cmp dword [esp + 0x4c], 0xffffffff
movsx eax, word [esp + 0x44]
je 0x402b92
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402c2c
mov eax, dword [edi + 8]
test eax, eax
je 0x402bb9
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402c2c
mov edx, dword [esi]
push edx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402c2c
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0xfcc]
push eax
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x268]
push ecx
push edx
push eax
call fcn.00419080
add esp, 0x10
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402c2c
mov eax, dword [edi + 0xc]
test eax, eax
je 0x402c12
mov ecx, dword [esp + 0x26a]
push ecx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402c2c
mov ecx, dword [edi]
lea edx, [esp + 0xfcc]
push edx
lea eax, [esp + 0x268]
push eax
push ebx
call ecx
add esp, 0xc
mov ebp, eax
mov eax, dword [esp + 0x276]
jmp 0x403a0f
xor eax, eax
lea edx, [esp + 0x2c]
push edx
mov edx, dword [edi + 4]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], eax
mov word [esp + 0x2c4], ax
lea esi, [edi + 0x2c]
push esi
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x1c4]
push ecx
push ebx
mov dword [esp + 0x2ce], 0x65c9c8
call edx
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x402d26
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402cb4
cmp dword [esp + 0x74], 0xffffffff
movsx eax, word [esp + 0x2c]
je 0x402cbb
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402d26
mov eax, dword [edi + 8]
test eax, eax
je 0x402cde
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402d26
mov eax, dword [esi]
push eax
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402d26
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x1b8]
lea ecx, [esp + 0x2ac]
push ecx
push edx
push eax
call fcn.004193d0
add esp, 0xc
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402d26
mov edx, dword [edi]
lea ecx, [esp + 0x2ac]
push ecx
push ebx
call edx
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0x2be]
jmp 0x403a0f
xor eax, eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov word [esp + 0x290], ax
lea eax, [esp + 0x20]
push eax
mov eax, dword [edi + 4]
lea esi, [edi + 0x2c]
push esi
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x160]
push edx
push ebx
mov dword [esp + 0x29e], 0x65c9c8
call eax
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x402e20
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402dae
cmp dword [esp + 0x6c], 0xffffffff
movsx eax, word [esp + 0x20]
je 0x402db5
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402e20
mov eax, dword [edi + 8]
test eax, eax
je 0x402dd8
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402e20
mov ecx, dword [esi]
push ecx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402e20
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x27c]
push edx
push eax
push ecx
call fcn.00419290
add esp, 0xc
mov dword [edi + 0x28], eax
test eax, eax
jne 0x402e20
mov eax, dword [edi]
lea edx, [esp + 0x27c]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0x28e]
jmp 0x403a0f
lea ecx, [esp + 0x1c0]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x160]
push edx
lea eax, [esp + 0x1d0]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 0x10
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404101
mov eax, dword [edi + 8]
cmp eax, esi
je 0x402e7b
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0x30]
push edx
lea eax, [esp + 0x168]
push eax
mov eax, dword [edi + 0x34]
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, dword [esp + 0x1cc]
lea edx, [esp + 0x178]
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [edi + 0x20]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x1e0]
push edx
push eax
push ecx
call fcn.00416ef0
add esp, 0x24
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
lea edx, [esp + 0x164]
push edx
mov edx, dword [edi + 0x34]
lea eax, [esp + 0x1d4]
push eax
mov eax, dword [edi]
lea ecx, [esp + 0x174]
push ecx
push edx
push ebx
call eax
add esp, 0x14
mov ebp, eax
jmp 0x4025fa
xor eax, eax
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov word [esp + 0xb0], ax
lea edx, [esp + 0x1dc]
push edx
lea eax, [esp + 0x17c]
push eax
lea esi, [edi + 0x2c]
push esi
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x200]
push eax
push ebx
mov dword [esp + 0xc6], 0x65c9c8
call ecx
mov ebp, eax
add esp, 0x20
test ebp, ebp
jne 0x403049
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x402f8f
cmp dword [esp + 0x70], 0xffffffff
movsx eax, word [esp + 0x34]
je 0x402f96
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403049
mov eax, dword [edi + 8]
test eax, eax
je 0x402fc1
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403049
mov edx, dword [esi]
push edx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403049
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x174]
push eax
mov eax, dword [edi + 0x24]
add eax, dword [esp + 0x1e4]
push ecx
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x1f4]
push eax
push ecx
push edx
call fcn.004182e0
add esp, 0x18
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403049
mov eax, dword [edi + 0x24]
sub dword [esp + 0x98], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x403037
mov ecx, dword [esp + 0x9e]
push ecx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403049
mov eax, dword [edi]
lea edx, [esp + 0x98]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0xaa]
jmp 0x403a0f
xor eax, eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [edi + 0x34]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov word [esp + 0x128], ax
lea edx, [esp + 0x194]
push edx
lea eax, [esp + 0x18c]
push eax
lea esi, [edi + 0x2c]
push esi
push ecx
lea edx, [esp + 0x1f8]
push edx
mov edx, dword [edi + 4]
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x1a8]
push ecx
push ebx
mov dword [esp + 0x142], 0x65c9c8
call edx
mov ebp, eax
add esp, 0x24
test ebp, ebp
jne 0x403183
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x4030f0
cmp dword [esp + 0x68], 0xffffffff
movsx eax, word [esp + 0x24]
je 0x4030f7
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403183
mov eax, dword [esi]
push eax
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403183
mov ecx, dword [edi + 0x30]
mov edx, dword [esp + 0x190]
mov eax, dword [esp + 0x184]
push ecx
mov ecx, dword [edi + 0x20]
push edx
push eax
mov eax, dword [edi + 0x34]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x1f4]
lea edx, [esp + 0x120]
push edx
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x1a4]
push ecx
push edx
push eax
call fcn.00418350
add esp, 0x24
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403183
mov ecx, dword [edi + 0x24]
mov eax, dword [edi]
sub dword [esp + 0x110], ecx
lea edx, [esp + 0x110]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0x122]
jmp 0x403a0f
mov edx, dword [edi + 4]
lea ecx, [esp + 0x224]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x4031ce
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
push eax
mov eax, dword [edi + 0x20]
lea ecx, [esp + 0x314]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x22c]
push edx
push eax
push ecx
call fcn.00416b90
add esp, 0x14
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x34]
mov ecx, dword [edi]
lea edx, [esp + 0x310]
push edx
push eax
push ebx
call ecx
add esp, 0xc
mov ebp, eax
jmp 0x4025fa
mov ecx, dword [edi + 4]
lea edx, [esp + 0x1ec]
push edx
lea eax, [esp + 0x198]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 0xc
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x403276
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0xc]
push esi
call edx
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov ecx, dword [edi + 0x24]
mov eax, dword [esp + 0x194]
add ecx, dword [esp + 0x1ec]
push eax
push ecx
call fcn.00417290
add esp, 8
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi]
push ebx
call edx
add esp, 4
mov ebp, eax
jmp 0x4025fa
mov ecx, dword [edi + 4]
lea eax, [esp + 0x19c]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x4032fe
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0xc]
push esi
call edx
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x24]
add eax, dword [esp + 0x19c]
push eax
call fcn.00417680
add esp, 4
jmp 0x4040be
mov eax, dword [edi + 4]
lea esi, [edi + 0x2c]
push esi
lea edx, [esp + 0x240]
push edx
push ebx
call eax
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [esi]
push ecx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [esp + 0x23c]
lea edx, [esp + 0x59c]
push edx
lea eax, [esp + 0x1a8]
push eax
push ecx
call fcn.00415d40
add esp, 0xc
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [edi]
lea edx, [esp + 0x59c]
push edx
lea eax, [esp + 0x1a8]
push eax
push ebx
call ecx
add esp, 0xc
mov ebp, eax
jmp 0x4025fa
mov eax, dword [edi + 4]
lea edx, [esp + 0x128]
push edx
push ebx
call eax
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [esp + 0x128]
lea ecx, [esp + 0x1ac]
push ecx
lea edx, [esp + 0x230]
push edx
push eax
call fcn.00415f10
add esp, 0xc
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi]
lea ecx, [esp + 0x1ac]
push ecx
lea edx, [esp + 0x230]
push edx
push ebx
call eax
add esp, 0xc
mov ebp, eax
jmp 0x4025fa
mov edx, dword [edi + 4]
lea ecx, [esp + 0x78]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x403452
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov dword [eax], ecx
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x403452
mov eax, dword [edi]
lea edx, [esp + 0x78]
push edx
push ebx
call eax
add esp, 8
mov ebp, eax
push 2
call fcn.00412930
add esp, 4
jmp 0x4025fa
mov ecx, dword [edi + 4]
push ebx
call ecx
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
lea edx, [esp + 0x11cc]
push edx
push str.Transbase_Database_System
call fcn.00405720
add esp, 8
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov ecx, dword [edi]
lea eax, [esp + 0x11cc]
push eax
push ebx
call ecx
add esp, 8
mov ebp, eax
jmp 0x4025fa
mov ecx, dword [edi + 4]
lea edx, [esp + 0x1b4]
push edx
lea eax, [esp + 0x200]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 0xc
cmp ebp, esi
jne 0x4034f0
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x4034f0
mov edx, dword [edi]
push ebx
call edx
add esp, 4
mov ebp, eax
mov eax, dword [0x5b46ac]
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1fc]
push 2
mov dword [eax + edx*4], ecx
call fcn.00412930
add esp, 4
jmp 0x4025fa
mov edx, dword [edi + 4]
xor eax, eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], eax
mov word [esp + 0x258], ax
lea esi, [edi + 0x2c]
push esi
lea eax, [esp + 0x54c]
push eax
lea ecx, [esp + 0x1c4]
push ecx
push ebx
mov dword [esp + 0x262], 0x65c9c8
call edx
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x40360a
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40360a
mov eax, dword [edi + 8]
test eax, eax
je 0x403594
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40360a
mov eax, dword [esi]
push eax
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40360a
lea ecx, [esp + 0x244]
push ecx
mov ecx, dword [esp + 0x1c0]
lea edx, [esp + 0x264]
push edx
lea eax, [esp + 0x550]
push eax
push ecx
call fcn.00418390
add esp, 0x10
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40360a
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4035f0
mov edx, dword [esp + 0x24a]
push edx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40360a
mov edx, dword [edi]
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0x264]
push ecx
push ebx
call edx
add esp, 0xc
mov ebp, eax
mov eax, dword [esp + 0x256]
jmp 0x403a0f
mov edx, dword [edi + 4]
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x210]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0xc
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x403671
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0xc]
push esi
call eax
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0x24]
mov ecx, dword [esp + 0x1c4]
add edx, dword [esp + 0x20c]
push ecx
push edx
call fcn.004177d0
add esp, 8
jmp 0x404045
mov ecx, dword [edi + 0x34]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x1d0]
push edx
lea eax, [esp + 0x23c]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 0x10
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 8]
cmp eax, esi
je 0x4036f0
call eax
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi + 0xc]
push esi
call edx
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov edx, dword [edi + 0x20]
push eax
mov eax, dword [esp + 0x1d0]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x23c]
push edx
push eax
push ecx
call fcn.004173e0
add esp, 0x14
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi]
push ebx
call edx
add esp, 4
mov ebp, eax
jmp 0x4025fa
mov edx, dword [edi + 0x34]
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov word [esp + 0x94], ax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1d8]
push ecx
lea esi, [edi + 0x2c]
push esi
push edx
lea eax, [esp + 0x22c]
push eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x1f4]
push edx
push ebx
mov dword [esp + 0xae], 0x65c9c8
call eax
mov ebp, eax
add esp, 0x20
test ebp, ebp
jne 0x40387f
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x4037c1
cmp dword [esp + 0x5c], 0xffffffff
movsx eax, word [esp + 0x28]
je 0x4037c8
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40387f
mov eax, dword [edi + 8]
test eax, eax
je 0x4037f3
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40387f
mov ecx, dword [esi]
push ecx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40387f
mov edx, dword [edi + 0x30]
mov eax, dword [esp + 0x1d4]
mov ecx, dword [edi + 0x20]
push edx
push eax
mov eax, dword [edi + 0x34]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [esp + 0x228]
lea edx, [esp + 0x8c]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x1f0]
push ecx
push edx
push eax
call fcn.00418310
add esp, 0x20
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40387f
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0xc]
sub dword [esp + 0x80], ecx
test eax, eax
je 0x40386d
mov edx, dword [esp + 0x86]
push edx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x40387f
mov ecx, dword [edi]
lea eax, [esp + 0x80]
push eax
push ebx
call ecx
add esp, 8
mov ebp, eax
mov eax, dword [esp + 0x92]
jmp 0x403a0f
mov edx, dword [edi + 0x24]
xor eax, eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov word [esp + 0xf4], ax
add edx, 0xa
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0xe4], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x184]
push edx
lea esi, [edi + 0x2c]
push esi
push eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x198]
push edx
push ebx
mov dword [esp + 0x10e], 0x65c9c8
call eax
mov ebp, eax
add esp, 0x20
test ebp, ebp
jne 0x403a08
cmp dword [edi + 4], fcn.004011e0
mov ecx, dword [str.public]
jne 0x403925
cmp dword [esp + 0x64], 0xffffffff
movsx eax, word [esp + 0x14]
je 0x40392c
movsx eax, word [ecx + 0x12c]
mov word [ecx + 0x12c], ax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403a08
mov eax, dword [edi + 8]
test eax, eax
je 0x403957
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403a08
mov ecx, dword [esi]
push ecx
call fcn.00414880
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403a08
mov edx, dword [esp + 0x18]
lea eax, [edx*8]
push eax
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x40398f
lea ebp, [eax + 6]
jmp 0x403a08
mov ecx, dword [edi + 0x30]
mov edx, dword [esp + 0x17c]
push ecx
mov ecx, dword [edi + 0x34]
push edx
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [edi + 0x20]
push ecx
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0xf4]
push edx
mov edx, dword [esp + 0x198]
push eax
push ecx
push edx
call fcn.00419890
add esp, 0x24
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403a08
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4039e8
mov ecx, dword [esp + 0xe6]
push ecx
call eax
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403a08
mov ecx, dword [edi + 0x34]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
mov eax, dword [edi]
push ecx
lea edx, [esp + 0xec]
push edx
push ebx
call eax
add esp, 0x14
mov ebp, eax
mov eax, dword [esp + 0xf2]
test eax, eax
je 0x4025fa
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
jmp 0x4025fa
mov edx, dword [edi + 4]
lea ecx, [esp + 0x188]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025f3
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov eax, dword [edi + 8]
test eax, eax
je 0x403a65
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov eax, dword [esp + 0x188]
push eax
call fcn.00414de0
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [edi]
push ebx
call ecx
add esp, 4
mov ebp, eax
jmp 0x4025fa
mov edx, dword [edi + 4]
push ebx
call edx
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025f3
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
call fcn.00418520
test eax, eax
jmp 0x404047
mov ecx, dword [str.public]
mov edx, dword [ecx + 0x159]
push 0x5a8504
push edx
lea eax, [esp + 0xd54]
push eax
xor esi, esi
call fcn.0056a970
add esp, 0xc
test eax, eax
jne 0x403afa
push 0x100
push 0x717
call fcn.004073f0
add esp, 8
jmp 0x403b33
lea ecx, [esp + 0xd4c]
push 0x5a8524
push ecx
call dword [sym.imp.MSVCR90.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x403b36
push 0x5a8524
lea edx, [esp + 0xd50]
push edx
push 0x713
call fcn.004073f0
add esp, 0xc
or esi, 0xffffffff
mov dword [edi + 0x28], eax
lea eax, [esp + 0x2e8]
push eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x134]
push edx
push ebx
mov dword [esp + 0x2f8], 1
mov dword [esp + 0x300], esi
call eax
add esp, 0x10
mov ebp, eax
test esi, esi
je 0x403b93
cmp esi, 0xffffffff
je 0x403b93
push esi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
cmp eax, 0xffffffff
jne 0x403b93
push 0x715
call fcn.004073f0
add esp, 4
mov dword [edi + 0x28], eax
test ebp, ebp
jne 0x4025f3
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
cmp esi, 0xffffffff
je 0x404108
test esi, esi
je 0x404108
mov eax, dword [edi + 8]
test eax, eax
je 0x403be4
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [edi + 0xc]
push eax
call ecx
add esp, 4
mov dword [edi + 0x28], eax
test eax, eax
jne 0x404108
mov ecx, dword [esp + 0x178]
push 1
lea edx, [esp + 0xd50]
push edx
mov edx, dword [esp + 0x134]
lea eax, [esp + 0x2f0]
push eax
push ecx
push edx
call fcn.00415780
add esp, 0x14
test eax, eax
jmp 0x404047
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x138]
push eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x144]
push ecx
lea edx, [esp + 0x328]
push edx
push ebx
mov dword [esp + 0xf4], 0xffffffff
call eax
mov ebp, eax
add esp, 0x18
cmp ebp, esi
jne 0x403d3c
cmp byte [esp + 0x32a], 0
mov eax, dword [0x67d2a4]
mov edx, dword [esp + 0x54]
seta bl
xor ecx, ecx
test bl, bl
setne cl
mov dword [esp + 0xd8], edx
mov dword [edi + 0x28], eax
add ecx, 2
mov dword [esp + 0xd4], ecx
test eax, eax
jne 0x403ca4
mov eax, dword [edi + 8]
test eax, eax
je 0x403ca4
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403ca4
push eax
mov eax, dword [edi + 0xc]
call eax
add esp, 4
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], esi
jne 0x403d27
test bl, bl
jne 0x403cf7
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x138]
push ecx
lea edx, [esp + 0xe0]
push edx
push eax
lea ecx, [esp + 0x324]
push ecx
call fcn.00415940
add esp, 0x10
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403cf7
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0xe0]
push 2
push edx
push eax
call fcn.00423b20
add esp, 0x10
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], esi
jne 0x403d27
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x58]
push edx
mov edx, dword [esp + 0x17dc]
lea eax, [esp + 0x320]
push eax
mov eax, dword [edi]
lea ecx, [esp + 0xe0]
push ecx
push edx
call eax
add esp, 0x14
mov ebp, eax
mov eax, dword [esp + 0xdc]
cmp eax, 0xffffffff
je 0x403d3c
push eax
call fcn.004240d0
add esp, 4
push 4
call fcn.0041df60
add esp, 4
cmp dword [edi + 0x28], esi
jne 0x4025f3
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x4025f3
call fcn.004185c0
mov dword [edi + 0x28], eax
jmp 0x4025f3
lea ecx, [esp + 0x140]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x14c]
push edx
lea eax, [esp + 0x304]
push eax
push ebx
mov dword [esp + 0x160], esi
mov dword [esp + 0x218], 0xffffffff
call ecx
mov ebp, eax
add esp, 0x10
cmp ebp, esi
jne 0x403d3c
cmp byte [esp + 0x30e], 0
mov eax, dword [esp + 0x2fc]
seta bl
xor edx, edx
test bl, bl
setne dl
mov dword [esp + 0x158], eax
mov dword [esp + 0x204], eax
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
add edx, 2
mov dword [esp + 0x200], edx
test eax, eax
jne 0x403df9
mov eax, dword [edi + 8]
test eax, eax
je 0x403df9
call eax
mov dword [edi + 0x28], eax
test eax, eax
jne 0x403df9
push eax
mov eax, dword [edi + 0xc]
call eax
add esp, 4
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], esi
jne 0x403e63
test bl, bl
jne 0x403e2d
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x148]
push ecx
lea edx, [esp + 0x20c]
push edx
push eax
lea ecx, [esp + 0x308]
push ecx
call fcn.00415940
add esp, 0x10
mov dword [edi + 0x28], eax
cmp dword [edi + 0x28], esi
jne 0x403e63
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x15c]
push eax
mov eax, dword [esp + 0x17dc]
lea ecx, [esp + 0x304]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x20c]
push edx
push eax
call ecx
add esp, 0x14
mov ebp, eax
mov eax, dword [esp + 0x208]
jmp 0x403d2e
mov ecx, dword [edi + 4]
lea edx, [esp + 0x160]
push edx
lea eax, [esp + 0x13d0]
push eax
push ebx
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd4], 1
call ecx
mov ebp, eax
add esp, 0xc
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x403ef1
lea edx, [esp + 0xcc]
push edx
mov edx, dword [esp + 0x164]
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x13d4]
push ecx
push edx
call fcn.00414ea0
add esp, 0x10
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x403ef1
mov ecx, dword [edi]
lea eax, [esp + 0xc8]
push eax
push ebx
call ecx
add esp, 8
mov ebp, eax
cmp dword [esp + 0xd0], esi
je 0x4025fa
lea edx, [esp + 0xd0]
push edx
call fcn.00414ed0
add esp, 4
jmp 0x4025fa
mov ecx, dword [edi + 4]
lea eax, [esp + 0x10cc]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x403f57
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x403f57
lea edx, [esp + 0x10cc]
push edx
call fcn.0041c750
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x403f57
mov eax, dword [edi]
push ebx
call eax
add esp, 4
mov ebp, eax
push 2
call fcn.00412930
add esp, 4
jmp 0x4025fa
mov ecx, dword [edi + 4]
push ebx
call ecx
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
lea edx, [esp + 0xecc]
push edx
call fcn.0041c800
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov ecx, dword [edi]
lea eax, [esp + 0xecc]
push eax
push ebx
call ecx
add esp, 8
mov ebp, eax
jmp 0x4025fa
mov eax, dword [edi + 4]
lea edx, [esp + 0x168]
push edx
push ebx
call eax
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov ecx, dword [esp + 0x168]
push ecx
call fcn.00414f00
add esp, 4
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [edi]
push ebx
call edx
add esp, 4
mov ebp, eax
jmp 0x4025fa
mov ecx, dword [edi + 4]
lea eax, [esp + 0x3c]
push eax
push ebx
call ecx
mov ebp, eax
add esp, 8
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov edx, dword [esp + 0x3c]
push edx
call fcn.00416040
add esp, 4
cmp eax, esi
mov dword [edi + 0x28], eax
jne 0x404108
mov eax, dword [edi]
push ebx
call eax
add esp, 4
mov ebp, eax
jmp 0x4025fa
mov ecx, dword [edi + 0x34]
push ecx
lea edx, [esp + 0x21c]
push edx
mov edx, dword [edi + 4]
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x21c]
push ecx
push ebx
call edx
mov ebp, eax
add esp, 0x14
cmp ebp, esi
jne 0x4025fa
mov eax, dword [0x67d2a4]
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov eax, dword [edi + 0x34]
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x214]
push eax
mov eax, dword [esp + 0x214]
push ecx
push edx
push eax
call fcn.00414f70
add esp, 0x10
mov dword [edi + 0x28], eax
cmp eax, esi
jne 0x404108
mov ecx, dword [edi]
push ebx
call ecx
add esp, 4
mov ebp, eax
jmp 0x4025fa
push ebx
push 0x2b04
call fcn.004073f0
mov ebp, dword [esp + 0x44]
add esp, 8
mov dword [edi + 0x28], eax
cmp dword [0x67d288], esi
jne 0x4025fa
mov dword [edi + 0x14], 1
jmp 0x4025fa
mov ebx, dword [esp + 0x17d4]
mov eax, dword [edi + 0x28]
cmp eax, 0x2af9
je 0x40260e
cmp eax, 0x2afa
je 0x40260e
test eax, eax
jne 0x40412f
test ebp, ebp
je 0x4041bd
jmp 0x404133
test ebp, ebp
je 0x404140
mov eax, dword [0x67d27c]
xor ecx, ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], ecx
mov esi, dword [edi + 0x1c]
xor ebp, ebp
cmp esi, ebp
je 0x40415e
call fcn.00401190
mov edx, dword [edi + 0x1c]
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 0x1c], ebp
mov eax, dword [edi + 0x28]
mov ecx, dword [0x67d2a8]
cmp eax, ebp
jne 0x40416f
cmp ecx, ebp
je 0x4041bd
mov edx, dword [0x67d2a4]
cmp edx, ebp
je 0x404193
mov eax, dword [0x67d2a0]
push eax
push edx
call fcn.004073f0
add esp, 8
mov dword [edi + 0x28], eax
mov dword [0x67d2a4], ebp
jmp 0x40419a
cmp eax, ebp
jne 0x40419a
mov dword [edi + 0x28], ecx
cmp dword [edi], fcn.00401280
jne 0x4041ab
mov ecx, dword [edi + 0x28]
mov dword [0x65c184], ecx
mov ecx, dword [edi]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push ebx
call ecx
add esp, 0xc
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
je 0x4041d5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esp + 0x1c], esi
mov edx, dword [edi]
push edx
push esi
push esi
mov dword [esp + 0x24], esi
call section..text
add esp, 0xc
neg eax
sbb eax, eax
and eax, 2
jmp 0x4041f4
mov eax, 2
mov ecx, dword [esp + 0x17cc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x17c0
ret