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]