Function at 0x455840
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 0x45589a
cmp byte [edi + 0x6c0], cl
jne 0x45589a
cmp byte [edi + 0x8c0], cl
jne 0x45589a
cmp byte [edi + 0xac0], cl
mov dword [esp + 0x14], ecx
je 0x4558a2
mov dword [esp + 0x14], 1
cmp dword [edi + 0x60], ecx
mov dword [esp + 0x18], ecx
jbe 0x4558db
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 0x4558b3
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 8], 0
je 0x4558fb
push 0xc00
xor eax, eax
mov ecx, 0x4824
mov edx, edi
call fcn.00455740
add esp, 4
push 0x526cb8
mov eax, esi
call fcn.004553a0
add esp, 4
or eax, 0xffffffff
mov ecx, esi
call fcn.0044e210
or eax, 0xffffffff
mov ecx, esi
call fcn.0044e210
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x14]
lea eax, [edx + ecx + 3]
mov ecx, esi
call fcn.0044e210
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 0x4559a0
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45599d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45596d
cmp dword [esi + 0x48], 0
jne 0x45596d
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x45596d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45598f
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 0x455a0b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455a08
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4559d8
cmp dword [esi + 0x48], 0
jne 0x4559d8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4559d8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4559fa
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.0044dfb0
mov dword [esp + 0x38], eax
push 0
push 0
mov eax, edi
mov ecx, esi
mov dword [esp + 0x44], edx
call fcn.0044dfb0
mov edi, eax
push 0x526cc8
mov eax, esi
mov dword [esp + 0x58], edx
call fcn.004553a0
add esp, 0x14
mov eax, 0x18
mov ecx, esi
call fcn.0044e210
xor eax, eax
mov ecx, esi
call fcn.0044e210
push 0x526d98
mov eax, esi
call fcn.004553a0
mov eax, dword [esp + 0x54]
add esp, 4
mov ecx, esi
call fcn.0044e210
mov eax, dword [esp + 0x54]
mov ecx, esi
call fcn.0044e210
mov eax, 0xd53e8000
mov ecx, esi
call fcn.0044e210
mov eax, 0x19db1de
mov ecx, esi
call fcn.0044e210
mov eax, dword [ebx + 0x3a10]
mov ebx, dword [ebx + 0x3a14]
mov ecx, esi
call fcn.0044e210
mov eax, ebx
mov ecx, esi
call fcn.0044e210
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ecx, esi
call fcn.0044e210
mov ebp, dword [esp + 0x2c]
mov eax, ebp
mov ecx, esi
call fcn.0044e210
mov eax, ebx
mov ecx, esi
call fcn.0044e210
mov eax, ebp
mov ecx, esi
call fcn.0044e210
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 0x455b4c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455b49
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455b19
cmp dword [esi + 0x48], 0
jne 0x455b19
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455b19
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455b3b
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 0x455bb7
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455bb4
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455b84
cmp dword [esi + 0x48], 0
jne 0x455b84
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455b84
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455ba6
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 0x455c22
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455c1f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455bef
cmp dword [esi + 0x48], 0
jne 0x455bef
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455bef
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455c11
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 0x455c8d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455c8a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455c5a
cmp dword [esi + 0x48], 0
jne 0x455c5a
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455c5a
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455c7c
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 0x455cf8
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455cf5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455cc5
cmp dword [esi + 0x48], 0
jne 0x455cc5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455cc5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455ce7
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 0x455d63
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455d60
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455d30
cmp dword [esi + 0x48], 0
jne 0x455d30
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455d30
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455d52
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 0x455dce
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455dcb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455d9b
cmp dword [esi + 0x48], 0
jne 0x455d9b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455d9b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455dbd
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 0x455e39
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455e36
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455e06
cmp dword [esi + 0x48], 0
jne 0x455e06
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455e06
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455e28
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.0044e210
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044e210
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.0044e210
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.0044e210
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044dfb0
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.0044dfb0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x54]
mov ecx, esi
call fcn.0044e210
mov eax, edi
mov ecx, esi
call fcn.0044e210
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044dfb0
mov edi, eax
push 0x526d68
mov eax, esi
mov dword [esp + 0x78], edx
call fcn.004553a0
add esp, 0x24
mov eax, 0x18
mov ecx, esi
call fcn.0044e210
xor eax, eax
mov ecx, esi
call fcn.0044e210
push 0x526d78
mov eax, esi
call fcn.004553a0
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 0x455f70
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455f6d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455f3d
cmp dword [esi + 0x48], 0
jne 0x455f3d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455f3d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455f5f
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 0x455fe0
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x455fdd
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455fad
cmp dword [esi + 0x48], 0
jne 0x455fad
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x455fad
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x455fcf
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 0x45604b
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456048
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456018
cmp dword [esi + 0x48], 0
jne 0x456018
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456018
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45603a
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 0x4560b6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4560b3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456083
cmp dword [esi + 0x48], 0
jne 0x456083
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456083
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4560a5
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 0x456121
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45611e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4560ee
cmp dword [esi + 0x48], 0
jne 0x4560ee
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4560ee
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456110
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 0x45618c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456189
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456159
cmp dword [esi + 0x48], 0
jne 0x456159
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456159
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45617b
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.0044dfb0
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.0044dfb0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x64]
mov ecx, esi
call fcn.0044e210
mov eax, edi
mov ecx, esi
call fcn.0044e210
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x4564a5
push 0
mov ebp, 1
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044dfb0
mov dword [esp + 0x28], eax
push 0x526d28
mov eax, esi
mov dword [esp + 0x30], edx
call fcn.004553a0
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044e210
xor eax, eax
mov ecx, esi
call fcn.0044e210
mov edi, dword [esp + 0x4c]
cmp byte [edi + 0x4c0], 0
lea eax, [edi + 0x4c0]
je 0x45626e
lea edx, [eax + 1]
jmp 0x456240
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x456240
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 0x456264
call fcn.0044de90
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x45628a
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 0x456284
call fcn.0044de90
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 0x45629a
call fcn.0044de90
cmp byte [edi + 0x6c0], 0
lea eax, [edi + 0x6c0]
mov dword [esp + 0x50], eax
je 0x4562de
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4562b0
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 0x4562d4
call fcn.0044de90
mov eax, dword [esi + 8]
shr ebx, 8
mov byte [eax], bl
jmp 0x4562fa
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 0x4562f4
call fcn.0044de90
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 0x45630a
call fcn.0044de90
cmp byte [edi + 0x8c0], 0
lea eax, [edi + 0x8c0]
mov dword [esp + 0x28], eax
je 0x45634e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x456320
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 0x456344
call fcn.0044de90
mov ecx, dword [esi + 8]
shr ebx, 8
mov byte [ecx], bl
jmp 0x45636a
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 0x456364
call fcn.0044de90
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 0x45637a
call fcn.0044de90
add edi, 0xac0
cmp byte [edi], 0
je 0x4563be
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x456390
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 0x4563b4
call fcn.0044de90
mov edx, dword [esi + 8]
shr ebx, 8
mov byte [edx], bl
jmp 0x4563da
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 0x4563d4
call fcn.0044de90
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 0x4563ea
call fcn.0044de90
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 0x456400
call fcn.0044de90
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 0x456416
call fcn.0044de90
mov eax, dword [esp + 0x4c]
add eax, 0x4c0
cmp byte [eax], 0
je 0x456429
call fcn.004555e0
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x456437
call fcn.004555e0
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x456445
call fcn.004555e0
cmp byte [edi], 0
je 0x456451
mov eax, edi
call fcn.004555e0
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044dfb0
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.0044dfb0
mov eax, ebx
sub eax, edi
mov edi, ebp
sbb edi, dword [esp + 0x34]
mov ecx, esi
call fcn.0044e210
mov eax, edi
mov ecx, esi
call fcn.0044e210
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
add esp, 0x18
mov edi, dword [esp + 0x4c]
xor eax, eax
cmp dword [edi + 0x60], eax
mov ebp, 1
jbe 0x4570db
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 0x45651d
cmp dword [ebx + 0xf0], 0x1100b
jne 0x45651d
mov edi, 0x526da8
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 8
sub eax, ebp
je 0x456535
mov eax, dword [ebx + 0x28]
add eax, 0x33
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0
jmp 0x456545
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.0044dfb0
mov dword [esp + 0x48], eax
push 0x526cd8
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.004553a0
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 0x4565d4
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4565d1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4565a1
cmp dword [esi + 0x48], 0
jne 0x4565a1
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4565a1
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4565c3
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 0x45663f
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45663c
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45660c
cmp dword [esi + 0x48], 0
jne 0x45660c
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45660c
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45662e
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 0x4566aa
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4566a7
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456677
cmp dword [esi + 0x48], 0
jne 0x456677
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456677
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456699
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 0x456715
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456712
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4566e2
cmp dword [esi + 0x48], 0
jne 0x4566e2
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4566e2
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456704
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 0x456780
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45677d
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45674d
cmp dword [esi + 0x48], 0
jne 0x45674d
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45674d
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x45676f
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 0x4567eb
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4567e8
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4567b8
cmp dword [esi + 0x48], 0
jne 0x4567b8
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4567b8
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4567da
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 0x456856
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456853
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456823
cmp dword [esi + 0x48], 0
jne 0x456823
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456823
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456845
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 0x4568c1
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4568be
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45688e
cmp dword [esi + 0x48], 0
jne 0x45688e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45688e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4568b0
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 0x4568ea
push 0x526ce8
call fcn.004553a0
add esp, 4
test edi, edi
je 0x4568f7
cmp dword [esp + 0x18], 0
je 0x4568f7
push 0x526cf8
jmp 0x4568fc
push 0x526d08
call fcn.004553a0
add esp, 4
push 0x526d18
mov eax, esi
call fcn.004553a0
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 0x456971
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x45696e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45693e
cmp dword [esi + 0x48], 0
jne 0x45693e
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x45693e
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456960
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 0x4569dc
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x4569d9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4569a9
cmp dword [esi + 0x48], 0
jne 0x4569a9
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x4569a9
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x4569cb
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 0x456a47
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456a44
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456a14
cmp dword [esi + 0x48], 0
jne 0x456a14
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456a14
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456a36
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 0x456ab2
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456aaf
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456a7f
cmp dword [esi + 0x48], 0
jne 0x456a7f
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456a7f
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456aa1
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 0x456b1d
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456b1a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456aea
cmp dword [esi + 0x48], 0
jne 0x456aea
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456aea
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456b0c
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 0x456b88
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456b85
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456b55
cmp dword [esi + 0x48], 0
jne 0x456b55
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456b55
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456b77
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 0x456bf3
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456bf0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456bc0
cmp dword [esi + 0x48], 0
jne 0x456bc0
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456bc0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456be2
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 0x456c5e
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456c5b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456c2b
cmp dword [esi + 0x48], 0
jne 0x456c2b
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456c2b
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456c4d
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.0044dfb0
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 0x456ce4
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456ce1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456cb1
cmp dword [esi + 0x48], 0
jne 0x456cb1
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x456cb1
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456cd3
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 0x456d55
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456d52
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456d22
cmp dword [esi + 0x48], 0
jne 0x456d22
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x456d22
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456d44
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 0x456dc6
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456dc3
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456d93
cmp dword [esi + 0x48], 0
jne 0x456d93
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x456d93
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456db5
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 0x456e37
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456e34
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456e04
cmp dword [esi + 0x48], 0
jne 0x456e04
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x456e04
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456e26
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 0x456ea9
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456ea6
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456e72
cmp dword [esi + 0x48], 0
jne 0x456e72
sub eax, ecx
push eax
push ecx
mov ecx, dword [esi + 0x10]
push ecx
call edx
add esp, 0xc
test eax, eax
jge 0x456e72
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456e94
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 0x456f1c
mov ecx, dword [esi]
cmp eax, ecx
jbe 0x456f19
mov edx, dword [esi + 0x18]
test edx, edx
je 0x456ee5
cmp dword [esi + 0x48], 0
jne 0x456ee5
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
jge 0x456ee5
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x456f07
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 0x456f3a
call fcn.0044de90
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 0x456f52
call fcn.0044de90
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 0x456f6b
call fcn.0044de90
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 0x456f87
call fcn.0044de90
xor eax, eax
mov ecx, esi
call fcn.0044e210
cmp dword [ebx + 0xec], ebp
jne 0x45704a
mov edi, ebx
mov eax, esi
call fcn.0045d760
mov edi, eax
mov eax, dword [ebx + 0xf0]
cmp eax, 0x15001
je 0x456fd4
cmp eax, 0x15000
je 0x456fd4
cmp eax, 0x11001
je 0x456fd4
cmp dword [ebx + 0x28], 0
jne 0x456fd4
xor eax, eax
mov ecx, esi
add edi, 2
call fcn.0044e300
test edi, edi
jl 0x4571bc
cmp edi, dword [esp + 0x50]
je 0x457025
push 0
push 0
mov eax, 1
mov ecx, esi
call fcn.0044dfb0
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.0044dfb0
mov eax, edi
mov ecx, esi
call fcn.0044e210
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
add esp, 0x18
mov ebp, 1
cmp dword [esp + 0x1c], 0
je 0x4570b6
cmp dword [esp + 0x18], 0
je 0x4570b6
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
call fcn.0044df10
add esp, 4
jmp 0x4570b6
mov eax, dword [ebx + 0x34]
mov ecx, esi
call fcn.0044e210
mov eax, dword [ebx + 0x38]
mov ecx, esi
call fcn.0044e210
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 0x457074
call fcn.0044de90
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 0x457093
call fcn.0044de90
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 0x4570ab
call fcn.0044de90
mov edi, dword [esp + 0x28]
mov eax, esi
call fcn.0045dab0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.004556e0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
add esp, 8
cmp eax, dword [edx + 0x60]
jb 0x4564c0
mov edi, edx
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044dfb0
mov dword [esp + 0x48], eax
push 0x526d38
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.004553a0
add esp, 0xc
mov eax, 0x18
mov ecx, esi
call fcn.0044e210
xor eax, eax
mov ecx, esi
call fcn.0044e210
push 0x526d48
mov eax, esi
call fcn.004553a0
mov eax, dword [edi + 0x60]
add esp, 4
mov ecx, esi
call fcn.0044e210
cmp dword [edi + 0x60], 0
mov dword [esp + 0x28], 0
jbe 0x457356
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 [0x55f5a0]
test eax, eax
mov edx, dword [ecx]
mov ebp, dword [edx + 8]
je 0x45717d
cmp dword [eax + 0x14], 0
je 0x457176
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 0xf0]
je 0x4571c7
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x457165
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 0x45719b
call fcn.0044de90
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 0x4571b4
call fcn.0044de90
test edi, edi
je 0x4571cb
mov eax, dword [edi]
jmp 0x4571d1
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, eax
jmp 0x45717f
lea eax, [ebp + 0xcc]
push eax
mov eax, esi
call fcn.004554a0
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 0x4571f7
call fcn.0044de90
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 0x45720d
call fcn.0044de90
cmp dword [ebp + 0xec], edi
jne 0x4572bf
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 0x45722f
call fcn.0044de90
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 0x457245
call fcn.0044de90
cmp dword [ebp + 0xf4], 0
jne 0x457276
mov edx, dword [ebp + 0xf0]
mov ecx, 0x526ac0
mov eax, 0x15000
mov edi, edi
cmp eax, edx
je 0x4572ba
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x457260
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov ebx, dword [ebp + 0xf4]
test ebx, ebx
je 0x4571bc
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 0x457299
call fcn.0044de90
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 0x457333
call fcn.0044de90
jmp 0x457333
mov ecx, dword [ecx + 4]
jmp 0x457270
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 0x4572d5
call fcn.0044de90
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 0x4572eb
call fcn.0044de90
cmp dword [ebp + 0xf4], 0
jne 0x45731e
mov edx, dword [ebp + 0xf0]
mov ecx, 0x5266b0
mov eax, 0x1c
cmp eax, edx
je 0x457504
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
jne 0x457304
xor ecx, ecx
mov dword [ebp + 0xf4], ecx
mov eax, dword [ebp + 0xf4]
test eax, eax
je 0x4571bc
mov ecx, esi
call fcn.0044e210
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 0x457153
mov ebp, edi
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.004556e0
push 0
push 0
mov eax, ebp
mov ecx, esi
call fcn.0044dfb0
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 0x457432
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.0044dfb0
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 0x4573c8
call fcn.0044de90
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 0x4573e7
call fcn.0044de90
mov eax, edi
sub eax, 0x20
mov ecx, ebp
sbb ecx, 0
push ecx
push eax
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
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 0x457415
call fcn.0044de90
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 0x45742f
call fcn.0044de90
sub ebx, 0x58
sub edi, 0xe
sbb ebp, 0
push ebp
push edi
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
lea eax, [ebx + 0x1e]
cdq
mov ecx, esi
mov edi, edx
call fcn.0044e210
mov eax, edi
mov ecx, esi
call fcn.0044e210
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
push ebp
push ebx
xor eax, eax
mov ecx, esi
call fcn.0044dfb0
mov edi, dword [esp + 0x20]
push 0x526d58
mov eax, esi
mov dword [edi + 0x4710], ebx
mov dword [edi + 0x4714], ebp
call fcn.004553a0
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov ecx, esi
call fcn.0044e210
mov eax, dword [esp + 0x5c]
mov ecx, esi
call fcn.0044e210
push 0x526d98
mov eax, esi
call fcn.004553a0
mov eax, dword [edi + 0x3a10]
mov edi, dword [edi + 0x3a14]
add esp, 4
mov ecx, esi
call fcn.0044e210
mov eax, edi
mov ecx, esi
call fcn.0044e210
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 0x4574e3
call fcn.0044de90
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 0x4574fa
call fcn.0044de90
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [ecx + 4]
jmp 0x457318