Function at 0x4540d0
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 0x45412a
cmp byte [edi + 0x6c0], cl
jne 0x45412a
cmp byte [edi + 0x8c0], cl
jne 0x45412a
cmp byte [edi + 0xac0], cl
mov dword [esp + 0x14], ecx
je 0x454132
mov dword [esp + 0x14], 1
cmp dword [edi + 0x60], ecx
mov dword [esp + 0x18], ecx
jbe 0x45416b
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 0x454143
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 8], 0
je 0x45418b
push 0xc00
xor eax, eax
mov ecx, 0x4824
mov edx, edi
call fcn.00453fd0
add esp, 4
push 0x525c48
mov eax, esi
call fcn.00453c30
add esp, 4
or eax, 0xffffffff
mov ecx, esi
call fcn.0044caa0
or eax, 0xffffffff
mov ecx, esi
call fcn.0044caa0
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x14]
lea eax, [edx + ecx + 3]
mov ecx, esi
call fcn.0044caa0
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 0x454230
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45422d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4541fd
cmp dword [esi + 0x48], 0
jne 0x4541fd
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x4541fd
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45421f
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 0x45429b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454298
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454268
cmp dword [esi + 0x48], 0
jne 0x454268
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454268
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45428a
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.0044c840
mov dword [esp + 0x38], eax
push 0
push 0
mov eax, edi
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.0044c840
mov edi, eax
push 0x525c58
mov eax, esi
mov dword [esp + 0x58], edx
call fcn.00453c30
add esp, 0x14
mov eax, 0x18
mov ecx, esi
call fcn.0044caa0
xor eax, eax
mov ecx, esi
call fcn.0044caa0
push 0x525d28
mov eax, esi
call fcn.00453c30
mov eax, dword [esp + 0x54]
add esp, 4
mov ecx, esi
call fcn.0044caa0
mov eax, dword [esp + 0x54]
mov ecx, esi
call fcn.0044caa0
mov eax, 0xd53e8000
mov ecx, esi
call fcn.0044caa0
mov eax, 0x19db1de
mov ecx, esi
call fcn.0044caa0
mov eax, dword [ebx + 0x3a10]
mov ebx, dword [ebx + 0x3a14]
mov ecx, esi
call fcn.0044caa0
mov eax, ebx
mov ecx, esi
call fcn.0044caa0
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ecx, esi
call fcn.0044caa0
mov ebp, dword [esp + 0x2c]
mov eax, ebp
mov ecx, esi
call fcn.0044caa0
mov eax, ebx
mov ecx, esi
call fcn.0044caa0
mov eax, ebp
mov ecx, esi
call fcn.0044caa0
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 0x4543dc
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4543d9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4543a9
cmp dword [esi + 0x48], 0
jne 0x4543a9
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4543a9
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4543cb
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 0x454447
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454444
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454414
cmp dword [esi + 0x48], 0
jne 0x454414
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454414
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454436
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 0x4544b2
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4544af
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45447f
cmp dword [esi + 0x48], 0
jne 0x45447f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45447f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4544a1
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 0x45451d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45451a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4544ea
cmp dword [esi + 0x48], 0
jne 0x4544ea
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4544ea
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45450c
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 0x454588
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454585
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454555
cmp dword [esi + 0x48], 0
jne 0x454555
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454555
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454577
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 0x4545f3
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4545f0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4545c0
cmp dword [esi + 0x48], 0
jne 0x4545c0
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4545c0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4545e2
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 0x45465e
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45465b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45462b
cmp dword [esi + 0x48], 0
jne 0x45462b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45462b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45464d
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 0x4546c9
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4546c6
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454696
cmp dword [esi + 0x48], 0
jne 0x454696
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454696
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4546b8
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.0044caa0
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044caa0
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044caa0
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.0044caa0
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044c840
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.0044c840
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x54]
mov ecx, esi
call fcn.0044caa0
mov eax, edi
mov ecx, esi
call fcn.0044caa0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044c840
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044c840
mov edi, eax
push 0x525cf8
mov eax, esi
mov dword [esp + 0x78], edx
call fcn.00453c30
add esp, 0x24
mov eax, 0x18
mov ecx, esi
call fcn.0044caa0
xor eax, eax
mov ecx, esi
call fcn.0044caa0
push 0x525d08
mov eax, esi
call fcn.00453c30
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 0x454800
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4547fd
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4547cd
cmp dword [esi + 0x48], 0
jne 0x4547cd
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4547cd
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4547ef
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 0x454870
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45486d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45483d
cmp dword [esi + 0x48], 0
jne 0x45483d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45483d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45485f
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 0x4548db
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4548d8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4548a8
cmp dword [esi + 0x48], 0
jne 0x4548a8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4548a8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4548ca
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 0x454946
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454943
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454913
cmp dword [esi + 0x48], 0
jne 0x454913
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454913
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454935
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 0x4549b1
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4549ae
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45497e
cmp dword [esi + 0x48], 0
jne 0x45497e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45497e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4549a0
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 0x454a1c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454a19
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4549e9
cmp dword [esi + 0x48], 0
jne 0x4549e9
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4549e9
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454a0b
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.0044c840
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.0044c840
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x64]
mov ecx, esi
call fcn.0044caa0
mov eax, edi
mov ecx, esi
call fcn.0044caa0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044c840
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x454d35
push 0
mov ebp, 1
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044c840
mov dword [esp + 0x28], eax
push 0x525cb8
mov eax, esi
mov dword [esp + 0x30], edx
call fcn.00453c30
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044caa0
xor eax, eax
mov ecx, esi
call fcn.0044caa0
mov edi, dword [esp + 0x4c]
cmp byte [edi + 0x4c0], 0
lea eax, [edi + 0x4c0]
je 0x454afe
lea edx, [eax + 1]
jmp 0x454ad0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x454ad0
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 0x454af4
call fcn.0044c720
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x454b1a
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 0x454b14
call fcn.0044c720
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 0x454b2a
call fcn.0044c720
cmp byte [edi + 0x6c0], 0
lea eax, [edi + 0x6c0]
mov dword [esp + 0x50], eax
je 0x454b6e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x454b40
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 0x454b64
call fcn.0044c720
mov eax, dword [esi + 8]
shr ebx, 8
mov byte [eax], bl
jmp 0x454b8a
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 0x454b84
call fcn.0044c720
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 0x454b9a
call fcn.0044c720
cmp byte [edi + 0x8c0], 0
lea eax, [edi + 0x8c0]
mov dword [esp + 0x28], eax
je 0x454bde
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x454bb0
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 0x454bd4
call fcn.0044c720
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
jmp 0x454bfa
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 0x454bf4
call fcn.0044c720
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 0x454c0a
call fcn.0044c720
add edi, 0xac0
cmp byte [edi], 0
je 0x454c4e
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x454c20
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 0x454c44
call fcn.0044c720
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x454c6a
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 0x454c64
call fcn.0044c720
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 0x454c7a
call fcn.0044c720
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 0x454c90
call fcn.0044c720
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 0x454ca6
call fcn.0044c720
mov eax, dword [esp + 0x4c]
add eax, 0x4c0
cmp byte [eax], 0
je 0x454cb9
call fcn.00453e70
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x454cc7
call fcn.00453e70
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x454cd5
call fcn.00453e70
cmp byte [edi], 0
je 0x454ce1
mov eax, edi
call fcn.00453e70
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044c840
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.0044c840
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x34]
mov ecx, esi
call fcn.0044caa0
mov eax, edi
mov ecx, esi
call fcn.0044caa0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044c840
add esp, 0x18
mov edi, dword [esp + 0x4c]
xor eax, eax
cmp dword [edi + 0x60], eax
mov ebp, 1
jbe 0x45596b
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 0x454dad
cmp dword [ebx + 0xf0], 0x1100b
jne 0x454dad
mov edi, 0x525d38
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 8
sub eax, ebp
je 0x454dc5
mov eax, dword [ebx + 0x28]
add eax, 0x33
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0
jmp 0x454dd5
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.0044c840
mov dword [esp + 0x48], eax
push 0x525c68
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.00453c30
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 0x454e64
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454e61
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454e31
cmp dword [esi + 0x48], 0
jne 0x454e31
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454e31
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454e53
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 0x454ecf
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454ecc
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454e9c
cmp dword [esi + 0x48], 0
jne 0x454e9c
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454e9c
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454ebe
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 0x454f3a
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454f37
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454f07
cmp dword [esi + 0x48], 0
jne 0x454f07
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454f07
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454f29
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 0x454fa5
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x454fa2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454f72
cmp dword [esi + 0x48], 0
jne 0x454f72
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454f72
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454f94
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 0x455010
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45500d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454fdd
cmp dword [esi + 0x48], 0
jne 0x454fdd
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x454fdd
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x454fff
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 0x45507b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455078
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455048
cmp dword [esi + 0x48], 0
jne 0x455048
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455048
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45506a
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 0x4550e6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4550e3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4550b3
cmp dword [esi + 0x48], 0
jne 0x4550b3
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4550b3
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4550d5
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 0x455151
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45514e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45511e
cmp dword [esi + 0x48], 0
jne 0x45511e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45511e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455140
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 0x45517a
push 0x525c78
call fcn.00453c30
add esp, 4
test edi, edi
je 0x455187
cmp dword [esp + 0x18], 0
je 0x455187
push 0x525c88
jmp 0x45518c
push 0x525c98
call fcn.00453c30
add esp, 4
push 0x525ca8
mov eax, esi
call fcn.00453c30
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 0x455201
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4551fe
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4551ce
cmp dword [esi + 0x48], 0
jne 0x4551ce
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4551ce
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4551f0
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 0x45526c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455269
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455239
cmp dword [esi + 0x48], 0
jne 0x455239
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455239
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45525b
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 0x4552d7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4552d4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4552a4
cmp dword [esi + 0x48], 0
jne 0x4552a4
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4552a4
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4552c6
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 0x455342
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45533f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45530f
cmp dword [esi + 0x48], 0
jne 0x45530f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45530f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455331
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 0x4553ad
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4553aa
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45537a
cmp dword [esi + 0x48], 0
jne 0x45537a
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45537a
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45539c
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 0x455418
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455415
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4553e5
cmp dword [esi + 0x48], 0
jne 0x4553e5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4553e5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455407
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 0x455483
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455480
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455450
cmp dword [esi + 0x48], 0
jne 0x455450
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455450
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455472
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 0x4554ee
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4554eb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4554bb
cmp dword [esi + 0x48], 0
jne 0x4554bb
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4554bb
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4554dd
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.0044c840
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 0x455574
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455571
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455541
cmp dword [esi + 0x48], 0
jne 0x455541
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x455541
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455563
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 0x4555e5
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4555e2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4555b2
cmp dword [esi + 0x48], 0
jne 0x4555b2
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x4555b2
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4555d4
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 0x455656
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455653
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455623
cmp dword [esi + 0x48], 0
jne 0x455623
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x455623
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455645
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 0x4556c7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4556c4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455694
cmp dword [esi + 0x48], 0
jne 0x455694
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x455694
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4556b6
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 0x455739
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455736
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455702
cmp dword [esi + 0x48], 0
jne 0x455702
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x455702
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455724
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 0x4557ac
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4557a9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455775
cmp dword [esi + 0x48], 0
jne 0x455775
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455775
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455797
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 0x4557ca
call fcn.0044c720
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 0x4557e2
call fcn.0044c720
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 0x4557fb
call fcn.0044c720
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 0x455817
call fcn.0044c720
xor eax, eax
mov ecx, esi
call fcn.0044caa0
cmp dword [ebx + 0xec], ebp
jne 0x4558da
mov edi, ebx
mov eax, esi
call fcn.0045bff0
mov edi, eax
mov eax, dword [ebx + 0xf0]
cmp eax, 0x15001
je 0x455864
cmp eax, 0x15000
je 0x455864
cmp eax, 0x11001
je 0x455864
cmp dword [ebx + 0x28], 0
jne 0x455864
xor eax, eax
mov ecx, esi
add edi, 2
call fcn.0044cb90
test edi, edi
jl 0x455a4c
cmp edi, dword [esp + 0x50]
je 0x4558b5
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044c840
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.0044c840
mov eax, edi
mov ecx, esi
call fcn.0044caa0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044c840
add esp, 0x18
mov ebp, 1
cmp dword [esp + 0x1c], 0
je 0x455946
cmp dword [esp + 0x18], 0
je 0x455946
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
call fcn.0044c7a0
add esp, 4
jmp 0x455946
mov eax, dword [ebx + 0x34]
mov ecx, esi
call fcn.0044caa0
mov eax, dword [ebx + 0x38]
mov ecx, esi
call fcn.0044caa0
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 0x455904
call fcn.0044c720
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 0x455923
call fcn.0044c720
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 0x45593b
call fcn.0044c720
mov edi, dword [esp + 0x28]
mov eax, esi
call fcn.0045c340
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.00453f70
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
add esp, 8
cmp eax, dword [edx + 0x60]
jb 0x454d50
mov edi, edx
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044c840
mov dword [esp + 0x48], eax
push 0x525cc8
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.00453c30
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044caa0
xor eax, eax
mov ecx, esi
call fcn.0044caa0
push 0x525cd8
mov eax, esi
call fcn.00453c30
mov eax, dword [edi + 0x60]
add esp, 4
mov ecx, esi
call fcn.0044caa0
cmp dword [edi + 0x60], 0
mov dword [esp + 0x28], 0
jbe 0x455be6
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 [0x55a1c4]
test eax, eax
mov edx, dword [ecx]
mov ebp, dword [edx + 8]
je 0x455a0d
cmp dword [eax + 0x14], 0
je 0x455a06
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 0xf0]
je 0x455a57
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x4559f5
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 0x455a2b
call fcn.0044c720
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 0x455a44
call fcn.0044c720
test edi, edi
je 0x455a5b
mov eax, dword [edi]
jmp 0x455a61
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, eax
jmp 0x455a0f
lea eax, [ebp + 0xcc]
push eax
mov eax, esi
call fcn.00453d30
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 0x455a87
call fcn.0044c720
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 0x455a9d
call fcn.0044c720
cmp dword [ebp + 0xec], edi
jne 0x455b4f
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 0x455abf
call fcn.0044c720
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 0x455ad5
call fcn.0044c720
cmp dword [ebp + 0xf4], 0
jne 0x455b06
mov edx, dword [ebp + 0xf0]
mov ecx, 0x525a50
mov eax, 0x15000
mov edi, edi
cmp eax, edx
je 0x455b4a
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x455af0
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov ebx, dword [ebp + 0xf4]
test ebx, ebx
je 0x455a4c
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 0x455b29
call fcn.0044c720
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 0x455bc3
call fcn.0044c720
jmp 0x455bc3
mov ecx, dword [ecx + 4]
jmp 0x455b00
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 0x455b65
call fcn.0044c720
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 0x455b7b
call fcn.0044c720
cmp dword [ebp + 0xf4], 0
jne 0x455bae
mov edx, dword [ebp + 0xf0]
mov ecx, 0x525640
mov eax, 0x1c
cmp eax, edx
je 0x455d94
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x455b94
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov eax, dword [ebp + 0xf4]
test eax, eax
je 0x455a4c
mov ecx, esi
call fcn.0044caa0
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 0x4559e3
mov ebp, edi
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.00453f70
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044c840
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 0x455cc2
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.0044c840
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 0x455c58
call fcn.0044c720
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 0x455c77
call fcn.0044c720
mov eax, edi
sub eax, 0x20
mov ecx, ebp
sbb ecx, 0
push ecx
push eax
xor eax, eax
mov ecx, esi
call fcn.0044c840
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 0x455ca5
call fcn.0044c720
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 0x455cbf
call fcn.0044c720
sub ebx, 0x58
sub edi, 0xe
sbb ebp, 0
push ebp
push edi
xor eax, eax
mov ecx, esi
call fcn.0044c840
lea eax, [ebx + 0x1e]
cdq
mov ecx, esi
mov edi, edx
call fcn.0044caa0
mov eax, edi
mov ecx, esi
call fcn.0044caa0
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044c840
mov edi, dword [esp + 0x20]
push 0x525ce8
mov eax, esi
mov dword [edi + 0x4710], ebx
mov dword [edi + 0x4714], ebp
call fcn.00453c30
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov ecx, esi
call fcn.0044caa0
mov eax, dword [esp + 0x5c]
mov ecx, esi
call fcn.0044caa0
push 0x525d28
mov eax, esi
call fcn.00453c30
mov eax, dword [edi + 0x3a10]
mov edi, dword [edi + 0x3a14]
add esp, 4
mov ecx, esi
call fcn.0044caa0
mov eax, edi
mov ecx, esi
call fcn.0044caa0
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 0x455d73
call fcn.0044c720
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 0x455d8a
call fcn.0044c720
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [ecx + 4]
jmp 0x455ba8