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

Disassembly:
push 0xffffffffffffffff
push 0x6bfc87
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov ecx, 0x106a7a8
mov dword [esp + 0x24], ebx
call fcn.005b0f80
test eax, eax
mov ecx, dword [0x73acd4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0
jle 0x451904
lea ebx, [ebx]
mov edx, dword [esp + 0x20]
push edx
mov ecx, 0x106a7a8
call fcn.005b2350
cmp eax, 2
jne 0x451819
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
mov dword [esp + 0x18], eax
je 0x4518eb
mov esi, dword [esp + 0x20]
mov edi, eax
mov edi, edi
mov eax, dword [edi]
mov eax, dword [eax]
test eax, eax
je 0x451398
push eax
push esi
mov ecx, 0x106a7a8
call fcn.005b1110
test al, al
jne 0x4513ab
mov eax, dword [ebx + 8]
add edi, 4
cmp edi, eax
jne 0x451380
mov dword [esp + 0x18], edi
jmp 0x4518eb
push esi
mov ecx, 0x106a7a8
mov dword [esp + 0x1c], edi
call fcn.005b1050
mov esi, eax
test esi, esi
je 0x45152c
push str.A_Dfire1.esf
push esi
call fcn.00693c40
add esp, 8
test eax, eax
je 0x4513dd
mov ebp, 1
jmp 0x451443
push str.A_Dfire2.esf
push esi
call fcn.00693c40
add esp, 8
test eax, eax
je 0x4513f6
mov ebp, 2
jmp 0x451443
push str.A_Dfire3.esf
push esi
call fcn.00693c40
add esp, 8
test eax, eax
je 0x45140f
mov ebp, 3
jmp 0x451443
push str.A_Dfire4.esf
push esi
call fcn.00693c40
add esp, 8
test eax, eax
je 0x451428
mov ebp, 4
jmp 0x451443
push str.A_Dfire5.esf
push esi
call fcn.00693c40
add esp, 8
test eax, eax
je 0x45152c
mov ebp, 5
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x8c], ebx
call fcn.0040103c
mov ecx, eax
call fcn.006470e9
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
mov edi, eax
mov dword [esp + 0x28], ecx
je 0x451504
nop
mov edx, dword [edi]
push edx
call fcn.0040103c
mov ecx, eax
call fcn.00646e37
cmp eax, ebx
je 0x4514f5
cmp dword [eax + 0x48], ebx
je 0x4514f5
mov cl, byte [eax + 0x1a9]
test cl, cl
jne 0x4514f5
mov edx, dword [esp + 0x18]
mov edx, dword [edx]
mov ecx, dword [eax + 4]
cmp ecx, dword [edx + 0x10]
jne 0x4514f5
mov esi, dword [eax + 0x1cc]
mov ecx, dword [0x106a8a4]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + edx*4]
lea eax, [esp + 0x50]
push eax
call fcn.005a4740
mov edx, dword [eax]
push ebp
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
push 0x6d50d0
mov ecx, esi
call fcn.0064fb64
mov eax, dword [esp + 0x28]
add edi, 4
cmp edi, eax
jne 0x451480
mov eax, dword [esp + 0x34]
cmp eax, ebx
mov dword [esp + 0x88], 0xffffffff
je 0x45151c
push eax
call fcn.00692701
add esp, 4
mov edi, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov esi, dword [edi]
cmp word [esi + 0x1c], 0
jne 0x4517c8
mov ax, word [esi + 0x16]
cmp ax, 3
je 0x45154d
cmp ax, 4
jne 0x451639
xor edi, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x8c], 1
call fcn.0040103c
mov ecx, eax
call fcn.006470e9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
mov ebp, eax
mov dword [esp + 0x28], ecx
je 0x451615
mov ebx, dword [esp + 0x20]
mov edx, dword [ebp]
push edx
call fcn.0040103c
mov ecx, eax
call fcn.00646e37
cmp eax, edi
je 0x451606
cmp dword [eax + 0x48], edi
je 0x451606
mov cl, byte [eax + 0x1a9]
test cl, cl
jne 0x451606
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
cmp ecx, dword [edx + 0x10]
jne 0x451606
mov edi, dword [eax + 0x1cc]
mov ecx, dword [0x106a8a4]
mov ecx, dword [ecx + ebx*4]
lea eax, [esp + 0x68]
push eax
call fcn.005a4740
mov ecx, dword [eax]
push 0
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
push 0x6d50d0
mov ecx, edi
mov dword [edx + 0xc], eax
call fcn.0064fb64
xor edi, edi
mov eax, dword [esp + 0x28]
add ebp, 4
cmp ebp, eax
jne 0x451591
mov eax, dword [esp + 0x44]
cmp eax, edi
mov dword [esp + 0x88], 0xffffffff
je 0x45162d
push eax
call fcn.00692701
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
xor eax, eax
mov ax, word [esi + 0x16]
xor ebp, ebp
test ah, ah
mov ebx, 1
jns 0x451680
mov ecx, dword [0x731ea8]
push eax
call fcn.0056c8c0
test eax, eax
je 0x451680
mov eax, dword [eax + 0x1cc]
cmp eax, 2
je 0x45166f
cmp eax, 9
je 0x45166f
cmp eax, 0xb
jne 0x451671
xor ebx, ebx
cmp eax, 5
je 0x45167b
cmp eax, 4
jne 0x451680
mov ebp, 1
mov ax, word [esi + 0x16]
cmp ax, 0x9502
je 0x45173b
cmp ax, 0x9506
je 0x45173b
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x4516f2
mov ecx, dword [0x73c24c]
push 0xe
call fcn.00563619
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dx, word [eax + 0x12]
mov ecx, dword [0x73c24c]
mov word [esp + 0x12], dx
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x4516ce
mov eax, dword [ecx + 0x50]
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0x12]
push ecx
mov ecx, dword [0x73c270]
push edx
mov edx, dword [ecx + 0x15c]
push edx
push eax
call fcn.005708b3
add esp, 0x10
jmp 0x4517c8
xor ecx, ecx
mov cl, byte [esi + 0x1a]
push ebp
push ebx
xor edx, edx
mov dl, byte [esi + 0x14]
push ecx
xor ecx, ecx
mov cl, byte [esi + 0x18]
push edx
mov edx, dword [esi + 0x10]
push ecx
push eax
push edx
mov ecx, 0x73acd8
call fcn.00653cbb
mov ax, word [esi + 0x16]
cmp ax, 3
je 0x451729
cmp ax, 4
jne 0x4517c8
mov ecx, dword [0x73c24c]
push 0
call fcn.00563619
jmp 0x4517c8
mov ecx, dword [esp + 0x1c]
push 0xfa3
add ecx, 0x58
call fcn.00442040
mov edi, eax
test edi, edi
je 0x4517c8
push 0x14
call fcn.005636ae
add esp, 4
test al, al
jne 0x4517c8
mov edi, dword [edi + 0x1b0]
mov ax, word [edi + 0x12]
mov ecx, dword [0x73c24c]
mov word [esp + 0x14], ax
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x451781
mov ecx, dword [ecx + 0x50]
jmp 0x451783
mov ecx, eax
mov edx, dword [0x73c270]
mov eax, dword [edx + 0x15c]
lea edx, [esp + 0x14]
push edx
push eax
push eax
push ecx
call fcn.005708b3
add esp, 0x10
xor eax, eax
mov al, byte [esi + 0x1a]
push ebp
push ebx
xor ecx, ecx
mov cl, byte [esi + 0x14]
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
xor eax, eax
mov ax, word [esi + 0x16]
push ecx
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
mov ecx, 0x73acd8
call fcn.00653cbb
inc word [esi + 0x1c]
mov ax, word [esi + 0x1c]
cmp word [esi + 0x1a], ax
ja 0x4518eb
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 8]
lea ecx, [edx + 4]
sub eax, ecx
sar eax, 2
shl eax, 2
push eax
push ecx
push edx
call fcn.00692fe0
mov edx, dword [edi + 8]
add edx, 0xfffffffc
add esp, 0xc
mov ecx, esi
mov dword [edi + 8], edx
call fcn.0058bad0
push esi
call fcn.00692701
add esp, 4
jmp 0x4518eb
test eax, eax
jne 0x4518eb
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
je 0x45188d
lea edi, [esi + 4]
lea esp, [esp]
mov ecx, dword [esi]
mov eax, dword [ecx]
test eax, eax
je 0x451882
push eax
mov ecx, 0x106a7a8
call fcn.005b1070
test al, al
je 0x451882
mov eax, dword [ebx + 8]
mov ebp, dword [esi]
sub eax, edi
sar eax, 2
lea edx, [eax*4]
push edx
push edi
push esi
call fcn.00692fe0
mov ecx, dword [ebx + 8]
add ecx, 0xfffffffc
add esp, 0xc
test ebp, ebp
mov dword [ebx + 8], ecx
je 0x451888
mov ecx, ebp
call fcn.0058bad0
push ebp
call fcn.00692701
add esp, 4
jmp 0x451888
add esi, 4
add edi, 4
cmp esi, dword [ebx + 8]
jne 0x451830
mov esi, dword [ebx + 0x14]
cmp esi, dword [ebx + 0x18]
je 0x4518eb
mov ebp, 0xfffffffc
lea ebx, [ebx]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push ecx
mov ecx, 0x106a7a8
call fcn.005b1070
test al, al
je 0x4518e3
mov eax, dword [ebx + 0x18]
mov edi, dword [esi]
lea ecx, [esi + 4]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
push edx
push ecx
push esi
call fcn.00692fe0
mov edx, dword [ebx + 0x18]
add edx, ebp
push edi
mov dword [ebx + 0x18], edx
call fcn.00692701
add esp, 0x10
jmp 0x4518e6
add esi, 4
cmp esi, dword [ebx + 0x18]
jne 0x4518a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x451350
call fcn.0040103c
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x14], eax
je 0x452044
mov edi, dword [eax + 0x48]
test edi, edi
mov dword [esp + 0x24], edi
je 0x452044
push 0x40
push edi
call fcn.0059cf70
add esp, 8
test eax, eax
je 0x451a25
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x30]
or ebp, 0xffffffff
cmp ecx, ebp
je 0x451a25
movsx ecx, byte [esi + 0x4e0]
mov eax, dword [esi + ecx*4 + 0x11e0]
test eax, eax
je 0x451a25
mov edx, dword [eax + 0x1b0]
mov eax, dword [edx + 4]
movzx edx, byte [eax + 0x15]
mov eax, dword [esi + ecx*4 + 0x11d8]
test eax, eax
je 0x451a25
mov eax, dword [eax + 0x1b0]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + 0x15]
mov eax, edx
sub eax, 0x11
je 0x4519db
dec eax
jne 0x451a25
cmp ecx, 0x2a
jne 0x451a25
push 0x2c
call fcn.006918d6
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x88], 3
je 0x4519d2
mov ecx, eax
call fcn.004504a0
push 0
push 0
push 0
push 4
jmp 0x451a10
xor eax, eax
push eax
push eax
push eax
push 4
jmp 0x451a10
cmp ecx, 0x29
jne 0x451a25
push 0x2c
call fcn.006918d6
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x88], 2
je 0x451a06
mov ecx, eax
call fcn.004504a0
jmp 0x451a08
xor eax, eax
push 0
push 0
push 0
push 3
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x30]
mov ecx, eax
push edx
mov dword [esp + 0x9c], ebp
call fcn.004504d0
push 0x80
push edi
call fcn.0059cf70
add esp, 8
test eax, eax
je 0x451bdd
mov eax, dword [0x107103c]
test eax, eax
je 0x451bdd
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x13d]
test cl, cl
je 0x451bdd
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x1110]
mov esi, dword [0x731ea8]
push 0
call fcn.004df750
mov ecx, esi
push eax
call fcn.0056c8c0
test eax, eax
je 0x451bc8
mov cl, byte [eax + 0x1f9]
test cl, cl
je 0x451bc8
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x138]
imul edx, edx, 0x204
add eax, edx
lea ebp, [eax + 0x40]
push ebp
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.0064d2e3
mov eax, dword [esi + 0x15c]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
jne 0x451bb5
mov edi, 0x6d1230
mov esi, ebp
mov ecx, 5
xor edx, edx
mov dword [0x73ad10], 1
repe cmpsb byte [esi], byte es:[edi]
mov esi, dword [esp + 0x14]
je 0x451aec
push ebp
mov ecx, esi
call fcn.0064d9f1
mov eax, dword [esi + 0x138]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x1110]
mov dword [esp + 0x28], eax
mov edi, eax
call fcn.004dec50
mov ebp, dword [esp + 0x1c]
movzx edx, al
cmp edx, edi
jne 0x451b39
mov eax, dword [ebp + 0x1110]
mov ecx, dword [eax + 0x1b0]
mov eax, dword [esp + 0x14]
movzx esi, byte [ecx + 0x15]
mov dword [eax + 0x138], 0
mov byte [eax + 0x13d], 0
jmp 0x451b50
mov eax, dword [esp + 0x14]
inc edi
mov esi, 6
mov dword [eax + 0x138], edi
mov byte [eax + 0x13d], 1
push 0x2c
call fcn.006918d6
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x88], 4
je 0x451b78
mov ecx, eax
call fcn.004504a0
mov edi, eax
jmp 0x451b7a
xor edi, edi
mov ecx, dword [ebp + 0x1110]
mov edx, dword [esp + 0x28]
push ecx
push esi
push edx
push 0
mov dword [esp + 0x98], 0xffffffff
call fcn.004df750
push eax
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x2c]
push ecx
mov ecx, edi
call fcn.004504d0
mov edx, dword [esp + 0x14]
mov byte [edx + 0x1aa], 0
jmp 0x451bdd
mov dword [esi + 0x138], 0
mov byte [esi + 0x13d], 0
jmp 0x451bdd
mov eax, dword [esp + 0x14]
mov dword [eax + 0x138], 0
mov byte [eax + 0x13d], 0
mov edi, dword [esp + 0x24]
push 0x200
push edi
call fcn.0059cf70
mov esi, dword [esp + 0x1c]
add esp, 8
xor ebp, ebp
test eax, eax
je 0x451c06
mov dword [esi + 0x138], ebp
mov byte [esi + 0x13d], 0
push 1
push edi
call fcn.0059cf70
add esp, 8
cmp eax, ebp
mov dword [esp + 0x24], eax
mov byte [esp + 0x12], 0
jne 0x451c3d
push 0x400
push edi
call fcn.0059cf70
add esp, 8
cmp eax, ebp
mov dword [esp + 0x24], eax
je 0x451e49
mov byte [esp + 0x12], 1
mov edi, 0x9407
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
mov byte [0x73262c], 0
je 0x451c72
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x451c6c
cmp word [ecx + 0x16], di
je 0x451c6c
mov ecx, dword [ebx + 8]
add eax, 4
cmp eax, ecx
jne 0x451c51
jmp 0x451c72
mov esi, dword [eax]
test esi, esi
jne 0x451cc4
push 0x2c
call fcn.006918d6
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x88], 5
je 0x451c9a
mov ecx, eax
call fcn.004504a0
mov ecx, eax
jmp 0x451c9c
xor ecx, ecx
mov al, byte [esp + 0x12]
test al, al
push 0
push 0
mov dword [esp + 0x90], 0xffffffff
mov esi, ecx
push 0
je 0x451cbb
push 1
jmp 0x451cbd
push 0
push 0
call fcn.004504d0
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x451d8f
mov eax, 0xc1200000
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, 0x41a00000
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
xor ebp, ebp
xor eax, eax
mov ax, word [esi + 0x16]
test ah, ah
mov dword [esp + 0x50], 0xc25c0000
mov dword [esp + 0x54], 0x41f00000
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov edi, 1
jns 0x451d44
mov ecx, dword [0x731ea8]
push eax
call fcn.0056c8c0
cmp eax, ebp
je 0x451d44
mov eax, dword [eax + 0x1cc]
cmp eax, 2
je 0x451d42
cmp eax, 9
jne 0x451d44
xor edi, edi
mov ecx, dword [esi + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x134]
push edi
push ecx
xor ecx, ecx
mov cl, byte [esi + 0x1a]
shl eax, 2
mov edx, dword [esp + eax + 0x70]
mov eax, dword [esp + eax + 0x58]
push edx
push eax
xor edx, edx
mov dl, byte [esi + 0x14]
push ecx
xor eax, eax
mov al, byte [esi + 0x18]
xor ecx, ecx
mov cx, word [esi + 0x16]
push edx
push eax
push ecx
mov ecx, 0x73acd8
call fcn.0065353b
mov byte [0x73262c], al
mov edi, 0x9407
jmp 0x451d9b
mov ecx, 0x73acd8
call fcn.00655da9
xor ebp, ebp
mov dx, word [esp + 0x24]
add word [esi + 0x1c], dx
mov ax, word [esi + 0x1c]
cmp word [esi + 0x1a], ax
mov dword [esi + 0x28], 1
jbe 0x451dbd
cmp word [esi + 0x16], 0x9305
jne 0x451e04
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
cmp eax, ecx
je 0x451dd5
cmp dword [eax], esi
je 0x451dd5
mov edx, dword [ebx + 8]
add eax, 4
cmp eax, edx
jne 0x451dc7
lea edx, [eax + 4]
sub ecx, edx
sar ecx, 2
shl ecx, 2
push ecx
push edx
push eax
call fcn.00692fe0
mov edx, dword [ebx + 8]
add edx, 0xfffffffc
add esp, 0xc
mov ecx, esi
mov dword [ebx + 8], edx
call fcn.0058bad0
push esi
call fcn.00692701
add esp, 4
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov eax, esi
cmp eax, edx
je 0x451e27
mov ecx, dword [eax]
cmp dword [ecx + 0x20], ebp
jne 0x451e7f
cmp word [ecx + 0x16], di
je 0x451e7f
mov ecx, dword [ebx + 8]
add eax, 4
cmp eax, ecx
jne 0x451e10
xor eax, eax
cmp esi, ebp
je 0x451e43
sub edx, esi
sar edx, 2
cmp edx, ebp
jbe 0x451e43
cmp eax, ebp
je 0x451e43
cmp dword [eax + 0x20], ebp
jne 0x451c42
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov eax, dword [esi + 0x48]
push 0x20
push eax
call fcn.0059cf70
add esp, 8
cmp eax, ebp
je 0x451f1b
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0045ac3a
test eax, eax
je 0x451e83
mov dword [esi + 0x134], ebp
mov dword [edi + 0x223c], ebp
jmp 0x451f1b
mov eax, dword [eax]
jmp 0x451e29
mov al, byte [0x73262c]
test al, al
je 0x451f15
cmp dword [0x1071030], ebp
jne 0x451ea1
mov al, byte [0x73ad9c]
test al, al
je 0x451f15
movsx edx, byte [edi + 0x4e0]
cmp dword [edi + edx*4 + 0x11e0], ebp
je 0x451f1b
mov edx, dword [esi + 0x134]
inc edx
mov dword [esi + 0x134], edx
mov ecx, dword [0x73acfc]
mov eax, edx
cmp eax, ecx
jae 0x451f15
mov eax, dword [esi + 0x160]
cmp eax, 2
je 0x451eee
cmp eax, 0x11
je 0x451eee
cmp eax, 0x12
je 0x451eee
cmp eax, 0x13
je 0x451eee
cmp eax, 0x1e
je 0x451eee
cmp eax, 0x1f
jne 0x451f1b
push ebp
push ebp
mov ecx, esi
call fcn.0064b451
mov byte [esi + 0x166], 1
mov byte [esi + 0x167], 1
mov byte [esi + 0x164], 0
mov byte [esi + 0x165], 0
jmp 0x451f1b
mov dword [esi + 0x134], ebp
mov esi, dword [ebx + 0x14]
cmp esi, dword [ebx + 0x18]
je 0x452044
mov ebp, dword [esp + 0x14]
jmp 0x451f30
mov ecx, ebp
call fcn.00649c4b
mov ecx, ebp
mov edi, eax
call fcn.00649c4b
mov eax, dword [eax + 8]
push eax
mov ecx, ebp
call fcn.00649c4b
mov ecx, dword [eax + 4]
mov edx, dword [edi]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 4]
push edx
call fcn.005a8380
mov eax, dword [ebp + 4]
push eax
call fcn.0045c4e6
add esp, 4
cmp eax, 2
jne 0x451fa3
mov eax, dword [ebp + 4]
mov ecx, dword [0x731e60]
and eax, 0xffff
push eax
call fcn.00565770
mov edi, eax
test edi, edi
je 0x451fa3
mov ecx, dword [ebp + 0x48]
call fcn.005b5fa0
fmul dword [edi + 0x184]
push ecx
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
fstp dword [esp]
call fcn.005a5930
mov edx, dword [esi]
cmp dword [edx], 0xffffffff
je 0x452036
mov ecx, dword [0x14dec7c]
test ecx, ecx
jne 0x451ff5
push 0x30
call fcn.006918d6
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x88], 6
je 0x451fe0
push 0x1e
mov ecx, eax
call fcn.00647af3
jmp 0x451fe2
xor eax, eax
mov ecx, eax
mov dword [esp + 0x88], 0xffffffff
mov dword [0x14dec7c], ecx
mov eax, dword [esi]
mov edx, dword [eax]
push edx
call fcn.00646e37
mov edi, eax
test edi, edi
je 0x452036
mov ecx, edi
call fcn.00649c4b
mov ecx, edi
mov ebp, eax
call fcn.00649c4b
mov eax, dword [eax + 8]
push eax
mov ecx, edi
call fcn.00649c4b
mov ecx, dword [eax + 4]
mov edx, dword [ebp]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 4]
push edx
call fcn.005a71e0
mov ebp, dword [esp + 0x14]
mov eax, dword [ebx + 0x18]
add esi, 4
cmp esi, eax
jne 0x451f30
mov ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x7c
ret