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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x4c]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x3a18]
add ecx, 0x1312d00
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x3a1c]
mov dword [esp + 0x28], ecx
mov ecx, 0
adc eax, ecx
cmp byte [edi + 0x4c0], cl
lea esi, [edi + 0x10]
mov dword [esp + 0x2c], eax
jne 0x451d8a
cmp byte [edi + 0x6c0], cl
jne 0x451d8a
cmp byte [edi + 0x8c0], cl
jne 0x451d8a
cmp byte [edi + 0xac0], cl
mov dword [esp + 0x14], ecx
je 0x451d92
mov dword [esp + 0x14], 1
cmp dword [edi + 0x60], ecx
mov dword [esp + 0x18], ecx
jbe 0x451dcb
lea edx, [edi + 0x64]
mov ebp, 0x3e8
mov eax, dword [edx]
mov ebx, dword [eax + 8]
mov dword [eax + 0x48], 0x20
mov dword [eax + 0x40], 1
mov dword [eax + 0x44], ebp
mov eax, dword [ebx + 0x10]
add dword [esp + 0x18], eax
add ecx, 1
add edx, 4
cmp ecx, dword [edi + 0x60]
jb 0x451da3
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 8], 0
je 0x451deb
push 0xc00
xor eax, eax
mov ecx, 0x4824
mov edx, edi
call fcn.00451c30
add esp, 4
push 0x4d3840
mov eax, esi
call fcn.00451890
add esp, 4
or eax, 0xffffffff
mov ecx, esi
call fcn.0044a700
or eax, 0xffffffff
mov ecx, esi
call fcn.0044a700
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x14]
lea eax, [edx + ecx + 3]
mov ecx, esi
call fcn.0044a700
mov eax, dword [esi + 8]
mov byte [eax], 1
mov edi, 1
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x451e90
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x451e8d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x451e5d
cmp dword [esi + 0x48], 0
jne 0x451e5d
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x451e5d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x451e7f
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 2
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x451efb
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x451ef8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x451ec8
cmp dword [esi + 0x48], 0
jne 0x451ec8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x451ec8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x451eea
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
push 0
push 0
mov eax, edi
mov ecx, esi
call fcn.0044a4a0
mov dword [esp + 0x38], eax
push 0
push 0
mov eax, edi
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.0044a4a0
mov edi, eax
push 0x4d3850
mov eax, esi
mov dword [esp + 0x58], edx
call fcn.00451890
add esp, 0x14
mov eax, 0x18
mov ecx, esi
call fcn.0044a700
xor eax, eax
mov ecx, esi
call fcn.0044a700
push 0x4d3920
mov eax, esi
call fcn.00451890
mov eax, dword [esp + 0x54]
add esp, 4
mov ecx, esi
call fcn.0044a700
mov eax, dword [esp + 0x54]
mov ecx, esi
call fcn.0044a700
mov eax, 0xd53e8000
mov ecx, esi
call fcn.0044a700
mov eax, 0x19db1de
mov ecx, esi
call fcn.0044a700
mov eax, dword [ebx + 0x3a10]
mov ebx, dword [ebx + 0x3a14]
mov ecx, esi
call fcn.0044a700
mov eax, ebx
mov ecx, esi
call fcn.0044a700
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ecx, esi
call fcn.0044a700
mov ebp, dword [esp + 0x2c]
mov eax, ebp
mov ecx, esi
call fcn.0044a700
mov eax, ebx
mov ecx, esi
call fcn.0044a700
mov eax, ebp
mov ecx, esi
call fcn.0044a700
mov edx, dword [esi + 8]
mov byte [edx], 0xd0
mov ebx, 1
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45203c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452039
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452009
cmp dword [esi + 0x48], 0
jne 0x452009
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452009
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45202b
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 7
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4520a7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4520a4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452074
cmp dword [esi + 0x48], 0
jne 0x452074
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452074
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452096
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452112
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45210f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4520df
cmp dword [esi + 0x48], 0
jne 0x4520df
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4520df
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452101
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45217d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45217a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45214a
cmp dword [esi + 0x48], 0
jne 0x45214a
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45214a
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45216c
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4521e8
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4521e5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4521b5
cmp dword [esi + 0x48], 0
jne 0x4521b5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4521b5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4521d7
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452253
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452250
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452220
cmp dword [esi + 0x48], 0
jne 0x452220
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452220
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452242
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4522be
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4522bb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45228b
cmp dword [esi + 0x48], 0
jne 0x45228b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45228b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4522ad
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452329
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452326
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4522f6
cmp dword [esi + 0x48], 0
jne 0x4522f6
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4522f6
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452318
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [ebx + 8], eax
mov ecx, esi
setne al
call fcn.0044a700
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044a700
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044a700
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.0044a700
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044a4a0
mov ebp, edx
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov edx, edi
add edx, 0x10
adc eax, 0
push eax
push edx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x54]
mov ecx, esi
call fcn.0044a700
mov eax, edi
mov ecx, esi
call fcn.0044a700
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044a4a0
mov edi, eax
push 0x4d38f0
mov eax, esi
mov dword [esp + 0x78], edx
call fcn.00451890
add esp, 0x24
mov eax, 0x18
mov ecx, esi
call fcn.0044a700
xor eax, eax
mov ecx, esi
call fcn.0044a700
push 0x4d3900
mov eax, esi
call fcn.00451890
mov ecx, dword [esi + 8]
mov byte [ecx], 6
add dword [esi + 8], 1
mov eax, dword [esi + 8]
add esp, 4
cmp eax, dword [esi + 0xc]
jb 0x452460
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45245d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45242d
cmp dword [esi + 0x48], 0
jne 0x45242d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45242d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45244f
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
mov ebx, 1
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4524d0
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4524cd
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45249d
cmp dword [esi + 0x48], 0
jne 0x45249d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45249d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4524bf
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45253b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452538
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452508
cmp dword [esi + 0x48], 0
jne 0x452508
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452508
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45252a
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4525a6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4525a3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452573
cmp dword [esi + 0x48], 0
jne 0x452573
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452573
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452595
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452611
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45260e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4525de
cmp dword [esi + 0x48], 0
jne 0x4525de
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4525de
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452600
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45267c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452679
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452649
cmp dword [esi + 0x48], 0
jne 0x452649
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452649
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45266b
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
push 0
push 0
mov eax, ebx
mov ecx, esi
call fcn.0044a4a0
mov ebp, edx
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov edx, edi
add edx, 0x10
adc eax, 0
push eax
push edx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x64]
mov ecx, esi
call fcn.0044a700
mov eax, edi
mov ecx, esi
call fcn.0044a700
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x452995
push 0
mov ebp, 1
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov dword [esp + 0x28], eax
push 0x4d38b0
mov eax, esi
mov dword [esp + 0x30], edx
call fcn.00451890
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044a700
xor eax, eax
mov ecx, esi
call fcn.0044a700
mov edi, dword [esp + 0x4c]
cmp byte [edi + 0x4c0], 0
lea eax, [edi + 0x4c0]
je 0x45275e
lea edx, [eax + 1]
jmp 0x452730
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x452730
mov ecx, dword [esi + 8]
sub eax, edx
lea ebx, [eax + eax + 2]
mov byte [ecx], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452754
call fcn.0044a380
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x45277a
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452774
call fcn.0044a380
mov ecx, dword [esi + 8]
mov byte [ecx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45278a
call fcn.0044a380
cmp byte [edi + 0x6c0], 0
lea eax, [edi + 0x6c0]
mov dword [esp + 0x50], eax
je 0x4527ce
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4527a0
sub eax, edx
mov edx, dword [esi + 8]
lea ebx, [eax + eax + 2]
mov byte [edx], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4527c4
call fcn.0044a380
mov eax, dword [esi + 8]
shr ebx, 8
mov byte [eax], bl
jmp 0x4527ea
mov ecx, dword [esi + 8]
mov byte [ecx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4527e4
call fcn.0044a380
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4527fa
call fcn.0044a380
cmp byte [edi + 0x8c0], 0
lea eax, [edi + 0x8c0]
mov dword [esp + 0x28], eax
je 0x45283e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x452810
sub eax, edx
lea ebx, [eax + eax + 2]
mov eax, dword [esi + 8]
mov byte [eax], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452834
call fcn.0044a380
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
jmp 0x45285a
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452854
call fcn.0044a380
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45286a
call fcn.0044a380
add edi, 0xac0
cmp byte [edi], 0
je 0x4528ae
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x452880
mov ecx, dword [esi + 8]
sub eax, edx
lea ebx, [eax + eax + 2]
mov byte [ecx], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4528a4
call fcn.0044a380
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x4528ca
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4528c4
call fcn.0044a380
mov ecx, dword [esi + 8]
mov byte [ecx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4528da
call fcn.0044a380
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4528f0
call fcn.0044a380
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452906
call fcn.0044a380
mov eax, dword [esp + 0x4c]
add eax, 0x4c0
cmp byte [eax], 0
je 0x452919
call fcn.00451ad0
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x452927
call fcn.00451ad0
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x452935
call fcn.00451ad0
cmp byte [edi], 0
je 0x452941
mov eax, edi
call fcn.00451ad0
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov edi, dword [esp + 0x28]
mov ebp, edx
mov edx, dword [esp + 0x2c]
mov ecx, edi
add ecx, 0x10
adc edx, 0
push edx
mov ebx, eax
push ecx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x34]
mov ecx, esi
call fcn.0044a700
mov eax, edi
mov ecx, esi
call fcn.0044a700
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
add esp, 0x18
mov edi, dword [esp + 0x4c]
xor eax, eax
cmp dword [edi + 0x60], eax
mov ebp, 1
jbe 0x4535cb
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + eax*4 + 0x64]
mov ebx, dword [edx + 8]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 1]
imul eax, eax, 0x70
add eax, edx
xor edi, edi
mov dword [eax + 0x210], ecx
mov byte [eax + 0x214], 0
mov eax, dword [ebx + 0xec]
cmp eax, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ecx
jne 0x452a0d
cmp dword [ebx + 0xf0], 0x1100b
jne 0x452a0d
mov edi, 0x4d3930
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 8
sub eax, ebp
je 0x452a25
mov eax, dword [ebx + 0x28]
add eax, 0x33
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0
jmp 0x452a35
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], 0x12
mov dword [esp + 0x14], eax
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov dword [esp + 0x48], eax
push 0x4d3860
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.00451890
mov ecx, dword [esi + 8]
mov byte [ecx], 0x18
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
add esp, 0xc
cmp eax, dword [esi + 0xc]
jb 0x452ac4
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452ac1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452a91
cmp dword [esi + 0x48], 0
jne 0x452a91
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452a91
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452ab3
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452b2f
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452b2c
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452afc
cmp dword [esi + 0x48], 0
jne 0x452afc
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452afc
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452b1e
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452b9a
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452b97
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452b67
cmp dword [esi + 0x48], 0
jne 0x452b67
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452b67
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452b89
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452c05
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452c02
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452bd2
cmp dword [esi + 0x48], 0
jne 0x452bd2
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452bd2
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452bf4
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452c70
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452c6d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452c3d
cmp dword [esi + 0x48], 0
jne 0x452c3d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452c3d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452c5f
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452cdb
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452cd8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452ca8
cmp dword [esi + 0x48], 0
jne 0x452ca8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452ca8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452cca
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452d46
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452d43
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452d13
cmp dword [esi + 0x48], 0
jne 0x452d13
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452d13
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452d35
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452db1
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452dae
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452d7e
cmp dword [esi + 0x48], 0
jne 0x452d7e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452d7e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452da0
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
cmp dword [ebx + 0xec], ebp
mov eax, esi
jne 0x452dda
push 0x4d3870
call fcn.00451890
add esp, 4
test edi, edi
je 0x452de7
cmp dword [esp + 0x18], 0
je 0x452de7
push 0x4d3880
jmp 0x452dec
push 0x4d3890
call fcn.00451890
add esp, 4
push 0x4d38a0
mov eax, esi
call fcn.00451890
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
add esp, 4
cmp eax, dword [esi + 0xc]
jb 0x452e61
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452e5e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452e2e
cmp dword [esi + 0x48], 0
jne 0x452e2e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452e2e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452e50
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452ecc
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452ec9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452e99
cmp dword [esi + 0x48], 0
jne 0x452e99
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452e99
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452ebb
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452f37
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452f34
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452f04
cmp dword [esi + 0x48], 0
jne 0x452f04
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452f04
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452f26
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x452fa2
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x452f9f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452f6f
cmp dword [esi + 0x48], 0
jne 0x452f6f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452f6f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452f91
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45300d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45300a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x452fda
cmp dword [esi + 0x48], 0
jne 0x452fda
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x452fda
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x452ffc
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453078
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x453075
mov edx, dword [esi + 0x18]
test edx, edx
je 0x453045
cmp dword [esi + 0x48], 0
jne 0x453045
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x453045
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x453067
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4530e3
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4530e0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4530b0
cmp dword [esi + 0x48], 0
jne 0x4530b0
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4530b0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4530d2
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45314e
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45314b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45311b
cmp dword [esi + 0x48], 0
jne 0x45311b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45311b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45313d
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x58]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 8]
mov byte [edx], al
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
add esp, 8
cmp eax, dword [esi + 0xc]
jb 0x4531d4
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4531d1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4531a1
cmp dword [esi + 0x48], 0
jne 0x4531a1
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x4531a1
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4531c3
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esp + 0x50]
mov eax, dword [esi + 8]
shr edx, 8
mov byte [eax], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453245
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x453242
mov edx, dword [esi + 0x18]
test edx, edx
je 0x453212
cmp dword [esi + 0x48], 0
jne 0x453212
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x453212
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x453234
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esp + 0x50]
mov eax, dword [esi + 8]
shr edx, 0x10
mov byte [eax], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4532b6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4532b3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x453283
cmp dword [esi + 0x48], 0
jne 0x453283
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x453283
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4532a5
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov edx, dword [esp + 0x50]
mov eax, dword [esi + 8]
shr edx, 0x18
mov byte [eax], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453327
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x453324
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4532f4
cmp dword [esi + 0x48], 0
jne 0x4532f4
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x4532f4
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x453316
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov byte [eax], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453399
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x453396
mov edx, dword [esi + 0x18]
test edx, edx
je 0x453362
cmp dword [esi + 0x48], 0
jne 0x453362
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x453362
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x453384
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov edx, dword [esp + 0x14]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, edx
shr eax, 8
mov byte [ecx], al
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45340c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x453409
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4533d5
cmp dword [esi + 0x48], 0
jne 0x4533d5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4533d5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4533f7
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
sub edx, eax
push edx
push eax
mov eax, dword [esi + 0x3c]
push eax
call ecx
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, ecx
cdq
add dword [esi + 0x20], eax
adc dword [esi + 0x24], edx
mov edx, dword [esp + 0x14]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, edx
shr eax, 0x10
mov byte [ecx], al
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45342a
call fcn.0044a380
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 8]
shr edx, 0x18
mov byte [eax], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453442
call fcn.0044a380
mov ecx, dword [esi + 8]
mov dl, byte [esp + 0x20]
mov byte [ecx], dl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45345b
call fcn.0044a380
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 8]
shr eax, 8
mov byte [ecx], al
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453477
call fcn.0044a380
xor eax, eax
mov ecx, esi
call fcn.0044a700
cmp dword [ebx + 0xec], ebp
jne 0x45353a
mov edi, ebx
mov eax, esi
call fcn.00459c50
mov edi, eax
mov eax, dword [ebx + 0xf0]
cmp eax, 0x15001
je 0x4534c4
cmp eax, 0x15000
je 0x4534c4
cmp eax, 0x11001
je 0x4534c4
cmp dword [ebx + 0x28], 0
jne 0x4534c4
xor eax, eax
mov ecx, esi
add edi, 2
call fcn.0044a7f0
test edi, edi
jl 0x4536ac
cmp edi, dword [esp + 0x50]
je 0x453515
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044a4a0
mov ebp, edx
mov edx, dword [esp + 0x44]
mov ebx, eax
mov eax, dword [esp + 0x40]
push edx
push eax
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov eax, edi
mov ecx, esi
call fcn.0044a700
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
add esp, 0x18
mov ebp, 1
cmp dword [esp + 0x1c], 0
je 0x4535a6
cmp dword [esp + 0x18], 0
je 0x4535a6
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
call fcn.0044a400
add esp, 4
jmp 0x4535a6
mov eax, dword [ebx + 0x34]
mov ecx, esi
call fcn.0044a700
mov eax, dword [ebx + 0x38]
mov ecx, esi
call fcn.0044a700
mov edx, dword [esi + 8]
mov byte [edx], 2
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453564
call fcn.0044a380
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x28]
mov ecx, dword [esi + 8]
add ebx, 0x28
mov byte [ecx], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453583
call fcn.0044a380
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45359b
call fcn.0044a380
mov edi, dword [esp + 0x28]
mov eax, esi
call fcn.00459fa0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.00451bd0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
add esp, 8
cmp eax, dword [edx + 0x60]
jb 0x4529b0
mov edi, edx
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov dword [esp + 0x48], eax
push 0x4d38c0
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.00451890
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044a700
xor eax, eax
mov ecx, esi
call fcn.0044a700
push 0x4d38d0
mov eax, esi
call fcn.00451890
mov eax, dword [edi + 0x60]
add esp, 4
mov ecx, esi
call fcn.0044a700
cmp dword [edi + 0x60], 0
mov dword [esp + 0x28], 0
jbe 0x453846
mov eax, dword [esp + 0x10]
add eax, 0x210
add edi, 0x64
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x50]
mov eax, dword [0x5076cc]
test eax, eax
mov edx, dword [ecx]
mov ebp, dword [edx + 8]
je 0x45366d
cmp dword [eax + 0x14], 0
je 0x453666
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 0xf0]
je 0x4536b7
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x453655
xor edi, edi
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 8]
mov ebx, dword [edx]
mov byte [eax], bl
add dword [esi + 8], 1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45368b
call fcn.0044a380
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
add dword [esi + 8], 1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4536a4
call fcn.0044a380
test edi, edi
je 0x4536bb
mov eax, dword [edi]
jmp 0x4536c1
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, eax
jmp 0x45366f
lea eax, [ebp + 0xcc]
push eax
mov eax, esi
call fcn.00451990
mov edx, dword [esi + 8]
mov byte [edx], 0
mov edi, 1
add dword [esi + 8], edi
mov eax, dword [esi + 8]
add esp, 4
cmp eax, dword [esi + 0xc]
jb 0x4536e7
call fcn.0044a380
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4536fd
call fcn.0044a380
cmp dword [ebp + 0xec], edi
jne 0x4537af
mov ecx, dword [esi + 8]
mov byte [ecx], 2
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45371f
call fcn.0044a380
mov edx, dword [esi + 8]
mov byte [edx], 0
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453735
call fcn.0044a380
cmp dword [ebp + 0xf4], 0
jne 0x453766
mov edx, dword [ebp + 0xf0]
mov ecx, 0x4d3648
mov eax, 0x15000
mov edi, edi
cmp eax, edx
je 0x4537aa
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x453750
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov ebx, dword [ebp + 0xf4]
test ebx, ebx
je 0x4536ac
mov eax, dword [esi + 8]
mov byte [eax], bl
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453789
call fcn.0044a380
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x453823
call fcn.0044a380
jmp 0x453823
mov ecx, dword [ecx + 4]
jmp 0x453760
mov edx, dword [esi + 8]
mov byte [edx], 4
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4537c5
call fcn.0044a380
mov eax, dword [esi + 8]
mov byte [eax], 0
add dword [esi + 8], edi
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4537db
call fcn.0044a380
cmp dword [ebp + 0xf4], 0
jne 0x45380e
mov edx, dword [ebp + 0xf0]
mov ecx, 0x4d3238
mov eax, 0x1c
cmp eax, edx
je 0x4539f4
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x4537f4
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov eax, dword [ebp + 0xf4]
test eax, eax
je 0x4536ac
mov ecx, esi
call fcn.0044a700
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x50], 4
add dword [esp + 0x20], 0x70
add eax, edi
cmp eax, dword [ecx + 0x60]
mov dword [esp + 0x28], eax
jb 0x453643
mov ebp, edi
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.00451bd0
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044a4a0
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x44]
mov ebx, eax
add esp, 0x10
sub ebx, edi
cmp dword [ecx + 8], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
je 0x453922
mov edx, edi
add ebx, 0x58
sub edx, 0x28
mov eax, ebp
sbb eax, 0
push eax
push edx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov ecx, dword [esi + 8]
mov byte [ecx], bl
add dword [esi + 8], 1
mov eax, dword [esi + 8]
add esp, 8
cmp eax, dword [esi + 0xc]
jb 0x4538b8
call fcn.0044a380
mov edx, dword [esi + 8]
mov eax, ebx
shr eax, 8
mov byte [edx], al
add dword [esi + 8], 1
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4538d7
call fcn.0044a380
mov eax, edi
sub eax, 0x20
mov ecx, ebp
sbb ecx, 0
push ecx
push eax
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov edx, dword [esi + 8]
mov byte [edx], bl
add dword [esi + 8], 1
mov eax, dword [esi + 8]
add esp, 8
cmp eax, dword [esi + 0xc]
jb 0x453905
call fcn.0044a380
mov eax, dword [esi + 8]
mov cl, byte [esp + 0x4c]
mov byte [eax], cl
add dword [esi + 8], 1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x45391f
call fcn.0044a380
sub ebx, 0x58
sub edi, 0xe
sbb ebp, 0
push ebp
push edi
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
lea eax, [ebx + 0x1e]
cdq
mov ecx, esi
mov edi, edx
call fcn.0044a700
mov eax, edi
mov ecx, esi
call fcn.0044a700
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044a4a0
mov edi, dword [esp + 0x20]
push 0x4d38e0
mov eax, esi
mov dword [edi + 0x4710], ebx
mov dword [edi + 0x4714], ebp
call fcn.00451890
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov ecx, esi
call fcn.0044a700
mov eax, dword [esp + 0x5c]
mov ecx, esi
call fcn.0044a700
push 0x4d3920
mov eax, esi
call fcn.00451890
mov eax, dword [edi + 0x3a10]
mov edi, dword [edi + 0x3a14]
add esp, 4
mov ecx, esi
call fcn.0044a700
mov eax, edi
mov ecx, esi
call fcn.0044a700
mov edx, dword [esi + 8]
mov byte [edx], 1
add dword [esi + 8], 1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4539d3
call fcn.0044a380
mov eax, dword [esi + 8]
mov byte [eax], 1
add dword [esi + 8], 1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x4539ea
call fcn.0044a380
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [ecx + 4]
jmp 0x453808