Function at 0x44f4e0
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 0x44f53a
cmp byte [edi + 0x6c0], cl
jne 0x44f53a
cmp byte [edi + 0x8c0], cl
jne 0x44f53a
cmp byte [edi + 0xac0], cl
mov dword [esp + 0x14], ecx
je 0x44f542
mov dword [esp + 0x14], 1
cmp dword [edi + 0x60], ecx
mov dword [esp + 0x18], ecx
jbe 0x44f57b
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 0x44f553
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 8], 0
je 0x44f59b
push 0xc00
xor eax, eax
mov ecx, 0x4824
mov edx, edi
call fcn.0044f3e0
add esp, 4
push 0x4d07d0
mov eax, esi
call fcn.0044f040
add esp, 4
or eax, 0xffffffff
mov ecx, esi
call fcn.00447eb0
or eax, 0xffffffff
mov ecx, esi
call fcn.00447eb0
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x14]
lea eax, [edx + ecx + 3]
mov ecx, esi
call fcn.00447eb0
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 0x44f640
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f63d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f60d
cmp dword [esi + 0x48], 0
jne 0x44f60d
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x44f60d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f62f
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 0x44f6ab
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f6a8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f678
cmp dword [esi + 0x48], 0
jne 0x44f678
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f678
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f69a
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.00447c50
mov dword [esp + 0x38], eax
push 0
push 0
mov eax, edi
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.00447c50
mov edi, eax
push 0x4d07e0
mov eax, esi
mov dword [esp + 0x58], edx
call fcn.0044f040
add esp, 0x14
mov eax, 0x18
mov ecx, esi
call fcn.00447eb0
xor eax, eax
mov ecx, esi
call fcn.00447eb0
push 0x4d08b0
mov eax, esi
call fcn.0044f040
mov eax, dword [esp + 0x54]
add esp, 4
mov ecx, esi
call fcn.00447eb0
mov eax, dword [esp + 0x54]
mov ecx, esi
call fcn.00447eb0
mov eax, 0xd53e8000
mov ecx, esi
call fcn.00447eb0
mov eax, 0x19db1de
mov ecx, esi
call fcn.00447eb0
mov eax, dword [ebx + 0x3a10]
mov ebx, dword [ebx + 0x3a14]
mov ecx, esi
call fcn.00447eb0
mov eax, ebx
mov ecx, esi
call fcn.00447eb0
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ecx, esi
call fcn.00447eb0
mov ebp, dword [esp + 0x2c]
mov eax, ebp
mov ecx, esi
call fcn.00447eb0
mov eax, ebx
mov ecx, esi
call fcn.00447eb0
mov eax, ebp
mov ecx, esi
call fcn.00447eb0
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 0x44f7ec
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f7e9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f7b9
cmp dword [esi + 0x48], 0
jne 0x44f7b9
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f7b9
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f7db
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 0x44f857
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f854
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f824
cmp dword [esi + 0x48], 0
jne 0x44f824
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f824
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f846
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 0x44f8c2
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f8bf
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f88f
cmp dword [esi + 0x48], 0
jne 0x44f88f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f88f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f8b1
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 0x44f92d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f92a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f8fa
cmp dword [esi + 0x48], 0
jne 0x44f8fa
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f8fa
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f91c
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 0x44f998
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44f995
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f965
cmp dword [esi + 0x48], 0
jne 0x44f965
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f965
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f987
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 0x44fa03
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fa00
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f9d0
cmp dword [esi + 0x48], 0
jne 0x44f9d0
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44f9d0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44f9f2
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 0x44fa6e
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fa6b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fa3b
cmp dword [esi + 0x48], 0
jne 0x44fa3b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fa3b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fa5d
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 0x44fad9
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fad6
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44faa6
cmp dword [esi + 0x48], 0
jne 0x44faa6
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44faa6
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fac8
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.00447eb0
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.00447eb0
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.00447eb0
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.00447eb0
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.00447c50
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.00447c50
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x54]
mov ecx, esi
call fcn.00447eb0
mov eax, edi
mov ecx, esi
call fcn.00447eb0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.00447c50
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.00447c50
mov edi, eax
push 0x4d0880
mov eax, esi
mov dword [esp + 0x78], edx
call fcn.0044f040
add esp, 0x24
mov eax, 0x18
mov ecx, esi
call fcn.00447eb0
xor eax, eax
mov ecx, esi
call fcn.00447eb0
push 0x4d0890
mov eax, esi
call fcn.0044f040
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 0x44fc10
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fc0d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fbdd
cmp dword [esi + 0x48], 0
jne 0x44fbdd
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fbdd
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fbff
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 0x44fc80
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fc7d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fc4d
cmp dword [esi + 0x48], 0
jne 0x44fc4d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fc4d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fc6f
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 0x44fceb
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fce8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fcb8
cmp dword [esi + 0x48], 0
jne 0x44fcb8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fcb8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fcda
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 0x44fd56
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fd53
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fd23
cmp dword [esi + 0x48], 0
jne 0x44fd23
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fd23
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fd45
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 0x44fdc1
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fdbe
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fd8e
cmp dword [esi + 0x48], 0
jne 0x44fd8e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fd8e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fdb0
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 0x44fe2c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x44fe29
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fdf9
cmp dword [esi + 0x48], 0
jne 0x44fdf9
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x44fdf9
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x44fe1b
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.00447c50
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.00447c50
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x64]
mov ecx, esi
call fcn.00447eb0
mov eax, edi
mov ecx, esi
call fcn.00447eb0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.00447c50
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x450145
push 0
mov ebp, 1
push 0
mov eax, ebp
mov ecx, esi
call fcn.00447c50
mov dword [esp + 0x28], eax
push 0x4d0840
mov eax, esi
mov dword [esp + 0x30], edx
call fcn.0044f040
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.00447eb0
xor eax, eax
mov ecx, esi
call fcn.00447eb0
mov edi, dword [esp + 0x4c]
cmp byte [edi + 0x4c0], 0
lea eax, [edi + 0x4c0]
je 0x44ff0e
lea edx, [eax + 1]
jmp 0x44fee0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x44fee0
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 0x44ff04
call fcn.00447b30
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x44ff2a
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 0x44ff24
call fcn.00447b30
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 0x44ff3a
call fcn.00447b30
cmp byte [edi + 0x6c0], 0
lea eax, [edi + 0x6c0]
mov dword [esp + 0x50], eax
je 0x44ff7e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x44ff50
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 0x44ff74
call fcn.00447b30
mov eax, dword [esi + 8]
shr ebx, 8
mov byte [eax], bl
jmp 0x44ff9a
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 0x44ff94
call fcn.00447b30
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 0x44ffaa
call fcn.00447b30
cmp byte [edi + 0x8c0], 0
lea eax, [edi + 0x8c0]
mov dword [esp + 0x28], eax
je 0x44ffee
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x44ffc0
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 0x44ffe4
call fcn.00447b30
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
jmp 0x45000a
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 0x450004
call fcn.00447b30
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 0x45001a
call fcn.00447b30
add edi, 0xac0
cmp byte [edi], 0
je 0x45005e
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x450030
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 0x450054
call fcn.00447b30
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x45007a
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 0x450074
call fcn.00447b30
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 0x45008a
call fcn.00447b30
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 0x4500a0
call fcn.00447b30
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 0x4500b6
call fcn.00447b30
mov eax, dword [esp + 0x4c]
add eax, 0x4c0
cmp byte [eax], 0
je 0x4500c9
call fcn.0044f280
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x4500d7
call fcn.0044f280
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x4500e5
call fcn.0044f280
cmp byte [edi], 0
je 0x4500f1
mov eax, edi
call fcn.0044f280
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.00447c50
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.00447c50
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x34]
mov ecx, esi
call fcn.00447eb0
mov eax, edi
mov ecx, esi
call fcn.00447eb0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.00447c50
add esp, 0x18
mov edi, dword [esp + 0x4c]
xor eax, eax
cmp dword [edi + 0x60], eax
mov ebp, 1
jbe 0x450d7b
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 0x4501bd
cmp dword [ebx + 0xf0], 0x1100b
jne 0x4501bd
mov edi, 0x4d08c0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 8
sub eax, ebp
je 0x4501d5
mov eax, dword [ebx + 0x28]
add eax, 0x33
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0
jmp 0x4501e5
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.00447c50
mov dword [esp + 0x48], eax
push 0x4d07f0
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.0044f040
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 0x450274
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450271
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450241
cmp dword [esi + 0x48], 0
jne 0x450241
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450241
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450263
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 0x4502df
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4502dc
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4502ac
cmp dword [esi + 0x48], 0
jne 0x4502ac
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4502ac
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4502ce
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 0x45034a
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450347
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450317
cmp dword [esi + 0x48], 0
jne 0x450317
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450317
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450339
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 0x4503b5
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4503b2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450382
cmp dword [esi + 0x48], 0
jne 0x450382
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450382
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4503a4
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 0x450420
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45041d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4503ed
cmp dword [esi + 0x48], 0
jne 0x4503ed
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4503ed
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45040f
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 0x45048b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450488
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450458
cmp dword [esi + 0x48], 0
jne 0x450458
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450458
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45047a
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 0x4504f6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4504f3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4504c3
cmp dword [esi + 0x48], 0
jne 0x4504c3
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4504c3
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4504e5
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 0x450561
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45055e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45052e
cmp dword [esi + 0x48], 0
jne 0x45052e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45052e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450550
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 0x45058a
push 0x4d0800
call fcn.0044f040
add esp, 4
test edi, edi
je 0x450597
cmp dword [esp + 0x18], 0
je 0x450597
push 0x4d0810
jmp 0x45059c
push 0x4d0820
call fcn.0044f040
add esp, 4
push 0x4d0830
mov eax, esi
call fcn.0044f040
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 0x450611
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45060e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4505de
cmp dword [esi + 0x48], 0
jne 0x4505de
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4505de
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450600
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 0x45067c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450679
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450649
cmp dword [esi + 0x48], 0
jne 0x450649
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450649
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45066b
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 0x4506e7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4506e4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4506b4
cmp dword [esi + 0x48], 0
jne 0x4506b4
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4506b4
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4506d6
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 0x450752
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45074f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45071f
cmp dword [esi + 0x48], 0
jne 0x45071f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45071f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450741
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 0x4507bd
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4507ba
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45078a
cmp dword [esi + 0x48], 0
jne 0x45078a
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45078a
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4507ac
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 0x450828
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450825
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4507f5
cmp dword [esi + 0x48], 0
jne 0x4507f5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4507f5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450817
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 0x450893
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450890
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450860
cmp dword [esi + 0x48], 0
jne 0x450860
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450860
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450882
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 0x4508fe
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4508fb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4508cb
cmp dword [esi + 0x48], 0
jne 0x4508cb
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4508cb
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4508ed
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.00447c50
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 0x450984
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450981
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450951
cmp dword [esi + 0x48], 0
jne 0x450951
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x450951
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450973
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 0x4509f5
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4509f2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4509c2
cmp dword [esi + 0x48], 0
jne 0x4509c2
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x4509c2
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4509e4
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 0x450a66
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450a63
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450a33
cmp dword [esi + 0x48], 0
jne 0x450a33
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x450a33
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450a55
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 0x450ad7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450ad4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450aa4
cmp dword [esi + 0x48], 0
jne 0x450aa4
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x450aa4
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450ac6
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 0x450b49
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450b46
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450b12
cmp dword [esi + 0x48], 0
jne 0x450b12
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x450b12
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450b34
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 0x450bbc
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x450bb9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450b85
cmp dword [esi + 0x48], 0
jne 0x450b85
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x450b85
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x450ba7
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 0x450bda
call fcn.00447b30
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 0x450bf2
call fcn.00447b30
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 0x450c0b
call fcn.00447b30
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 0x450c27
call fcn.00447b30
xor eax, eax
mov ecx, esi
call fcn.00447eb0
cmp dword [ebx + 0xec], ebp
jne 0x450cea
mov edi, ebx
mov eax, esi
call fcn.00457400
mov edi, eax
mov eax, dword [ebx + 0xf0]
cmp eax, 0x15001
je 0x450c74
cmp eax, 0x15000
je 0x450c74
cmp eax, 0x11001
je 0x450c74
cmp dword [ebx + 0x28], 0
jne 0x450c74
xor eax, eax
mov ecx, esi
add edi, 2
call fcn.00447fa0
test edi, edi
jl 0x450e5c
cmp edi, dword [esp + 0x50]
je 0x450cc5
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.00447c50
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.00447c50
mov eax, edi
mov ecx, esi
call fcn.00447eb0
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.00447c50
add esp, 0x18
mov ebp, 1
cmp dword [esp + 0x1c], 0
je 0x450d56
cmp dword [esp + 0x18], 0
je 0x450d56
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
call fcn.00447bb0
add esp, 4
jmp 0x450d56
mov eax, dword [ebx + 0x34]
mov ecx, esi
call fcn.00447eb0
mov eax, dword [ebx + 0x38]
mov ecx, esi
call fcn.00447eb0
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 0x450d14
call fcn.00447b30
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 0x450d33
call fcn.00447b30
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 0x450d4b
call fcn.00447b30
mov edi, dword [esp + 0x28]
mov eax, esi
call fcn.00457750
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.0044f380
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
add esp, 8
cmp eax, dword [edx + 0x60]
jb 0x450160
mov edi, edx
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.00447c50
mov dword [esp + 0x48], eax
push 0x4d0850
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.0044f040
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.00447eb0
xor eax, eax
mov ecx, esi
call fcn.00447eb0
push 0x4d0860
mov eax, esi
call fcn.0044f040
mov eax, dword [edi + 0x60]
add esp, 4
mov ecx, esi
call fcn.00447eb0
cmp dword [edi + 0x60], 0
mov dword [esp + 0x28], 0
jbe 0x450ff6
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 [0x5046ac]
test eax, eax
mov edx, dword [ecx]
mov ebp, dword [edx + 8]
je 0x450e1d
cmp dword [eax + 0x14], 0
je 0x450e16
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 0xf0]
je 0x450e67
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x450e05
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 0x450e3b
call fcn.00447b30
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 0x450e54
call fcn.00447b30
test edi, edi
je 0x450e6b
mov eax, dword [edi]
jmp 0x450e71
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, eax
jmp 0x450e1f
lea eax, [ebp + 0xcc]
push eax
mov eax, esi
call fcn.0044f140
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 0x450e97
call fcn.00447b30
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 0x450ead
call fcn.00447b30
cmp dword [ebp + 0xec], edi
jne 0x450f5f
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 0x450ecf
call fcn.00447b30
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 0x450ee5
call fcn.00447b30
cmp dword [ebp + 0xf4], 0
jne 0x450f16
mov edx, dword [ebp + 0xf0]
mov ecx, 0x4d05d8
mov eax, 0x15000
mov edi, edi
cmp eax, edx
je 0x450f5a
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x450f00
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov ebx, dword [ebp + 0xf4]
test ebx, ebx
je 0x450e5c
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 0x450f39
call fcn.00447b30
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 0x450fd3
call fcn.00447b30
jmp 0x450fd3
mov ecx, dword [ecx + 4]
jmp 0x450f10
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 0x450f75
call fcn.00447b30
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 0x450f8b
call fcn.00447b30
cmp dword [ebp + 0xf4], 0
jne 0x450fbe
mov edx, dword [ebp + 0xf0]
mov ecx, 0x4d01c8
mov eax, 0x1c
cmp eax, edx
je 0x4511a4
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x450fa4
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov eax, dword [ebp + 0xf4]
test eax, eax
je 0x450e5c
mov ecx, esi
call fcn.00447eb0
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 0x450df3
mov ebp, edi
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.0044f380
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.00447c50
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 0x4510d2
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.00447c50
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 0x451068
call fcn.00447b30
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 0x451087
call fcn.00447b30
mov eax, edi
sub eax, 0x20
mov ecx, ebp
sbb ecx, 0
push ecx
push eax
xor eax, eax
mov ecx, esi
call fcn.00447c50
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 0x4510b5
call fcn.00447b30
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 0x4510cf
call fcn.00447b30
sub ebx, 0x58
sub edi, 0xe
sbb ebp, 0
push ebp
push edi
xor eax, eax
mov ecx, esi
call fcn.00447c50
lea eax, [ebx + 0x1e]
cdq
mov ecx, esi
mov edi, edx
call fcn.00447eb0
mov eax, edi
mov ecx, esi
call fcn.00447eb0
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.00447c50
mov edi, dword [esp + 0x20]
push 0x4d0870
mov eax, esi
mov dword [edi + 0x4710], ebx
mov dword [edi + 0x4714], ebp
call fcn.0044f040
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov ecx, esi
call fcn.00447eb0
mov eax, dword [esp + 0x5c]
mov ecx, esi
call fcn.00447eb0
push 0x4d08b0
mov eax, esi
call fcn.0044f040
mov eax, dword [edi + 0x3a10]
mov edi, dword [edi + 0x3a14]
add esp, 4
mov ecx, esi
call fcn.00447eb0
mov eax, edi
mov ecx, esi
call fcn.00447eb0
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 0x451183
call fcn.00447b30
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 0x45119a
call fcn.00447b30
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [ecx + 4]
jmp 0x450fb8