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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xcc
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edx, dword [ecx + 8]
mov dword [esp + 0xb8], edx
xor eax, eax
xor edx, edx
mov dword [esp + 0x90], eax
mov ecx, dword [ebx]
test ecx, ecx
jle 0x44bb78
mov eax, edx
shl eax, 4
lea eax, [eax + edx*8]
mov ebp, dword [esi + 0x37e0]
test ebp, ebp
je 0x44ce2e
mov ebp, dword [ebx + 0x34]
mov edi, dword [eax + ebp + 0x10]
mov dword [esp + edx*4 + 0x30], edi
mov edi, dword [eax + ebp + 0xc]
mov dword [esp + edx*4 + 0x40], edi
mov edi, dword [eax + ebp + 4]
imul edi, dword [eax + ebp + 8]
add eax, 0x18
mov dword [esp + edx*4 + 0x50], edi
inc edx
cmp edx, ecx
jl 0x44bb42
cmp ecx, 1
jne 0x44bb85
mov dword [esp + 0x50], 1
mov eax, dword [esi + 0x37b8]
cmp eax, 1
mov dword [esp + 0xb0], eax
je 0x44ce04
mov eax, dword [esi + 0x37bc]
mov dword [esp + 0xa8], eax
mov al, 1
xor ecx, ecx
mov edi, dword [esi + 0x37c0]
mov byte [esp + 0xa0], al
test edi, edi
jle 0x44bbfe
mov edx, ecx
shl edx, 4
test al, al
je 0x44cdf1
mov ebp, dword [esi + 0x37cc]
mov ebx, dword [ebp + edx + 4]
cmp ebx, dword [ebp + edx + 8]
je 0x44bbdc
xor al, al
cmp ebx, 1
je 0x44bbe8
cmp ebx, 2
je 0x44bbe8
xor al, al
add edx, 0x10
inc ecx
cmp ecx, edi
jl 0x44bbc2
mov byte [esp + 0xa0], al
mov ebx, dword [esp + 0xe4]
mov eax, 8
xor edx, edx
mov ecx, dword [esp + 0xec]
idiv ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esi + 4]
imul ecx, dword [esp + 0xb4]
cdq
idiv ecx
mov dword [esp + 0x9c], eax
mov ebp, dword [esi + 0xc]
lea eax, [ebp + ecx - 1]
cdq
idiv ecx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xa8]
mov eax, dword [esi + 8]
imul ecx, dword [esp + 0xb4]
cdq
idiv ecx
mov dword [esp + 0xbc], eax
mov ebp, dword [esi + 0x10]
lea eax, [ebp + ecx - 1]
cdq
idiv ecx
mov edx, dword [esi + 0x4de8]
cmp edx, 1
mov dword [esp + 0xc0], eax
je 0x44cdd0
xor eax, eax
mov dword [esp + 0xc4], eax
cmp edx, 1
je 0x44cdaf
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x44bcb2
sub eax, dword [esp + 0xc4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x44bccb
sub eax, dword [esp + 0x94]
mov dword [esp + 0xbc], eax
mov ecx, dword [esi + 0x78]
mov eax, dword [esp + 0x98]
cmp eax, ecx
jge 0x44bce7
mov eax, dword [esp + 0xc4]
add dword [esp + 0x98], eax
mov eax, dword [esi + 0x7c]
mov edx, dword [esp + 0xc0]
cmp edx, eax
mov dword [esp + 0x7c], eax
jge 0x44bd07
mov eax, dword [esp + 0x94]
add dword [esp + 0xc0], eax
xor ebp, ebp
test edi, edi
jle 0x44bd5f
mov edx, dword [esi + 0x37cc]
mov eax, ebp
shl eax, 4
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x90]
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [eax + edx + 4]
inc ebp
imul ecx, dword [eax + edx + 8]
add ebx, ecx
add eax, 0x10
cmp ebp, edi
jl 0x44bd30
mov dword [esp + 0x90], ebx
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
mov eax, dword [ebx + 8]
test eax, eax
je 0x44c380
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x44c380
mov ebp, dword [ebx + 0x34]
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
add eax, eax
mov ecx, dword [ebp + 4]
cdq
idiv ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xa8]
add eax, eax
add eax, eax
add eax, eax
mov ebp, dword [ebp + 8]
cdq
idiv ebp
mov dword [esp + 0xa8], eax
mov ebp, dword [esi + 0x4c]
mov ecx, dword [esp + 0xac]
lea eax, [ecx + ebp - 1]
cdq
idiv ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0x50]
mov ebp, dword [esp + 0xa8]
cdq
xor eax, edx
sub eax, edx
lea eax, [ebp + eax - 1]
cdq
mov ecx, dword [esp + 0x7c]
idiv ebp
mov ebp, dword [ebx + 0x20]
cmp ebp, ecx
jge 0x44cb0b
mov ecx, dword [esp + 0x90]
mov edx, ecx
shl edx, 7
shl ecx, 7
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], eax
jmp 0x44be15
mov edi, dword [esi + 0x37c0]
cmp edi, dword [esi + 0x37d8]
jl 0x44c04b
xor eax, eax
mov edx, dword [esp + 0xe4]
mov ecx, dword [edx + 0x34]
mov edx, dword [ecx + 8]
test edx, edx
jle 0x44c04b
lea edi, [ebp + ebp]
add edi, edi
add edi, edi
lea ebx, [eax + eax]
add ebx, ebx
add ebx, ebx
mov dword [esp + 0x74], edi
mov edi, eax
mov dword [esp + 0x88], ebp
mov ebp, edx
imul ebp, dword [esp + 0x74]
add ebp, ebx
cmp ebp, dword [esi + 0x50]
jge 0x44c950
mov ebp, dword [esp + 0xe4]
mov eax, dword [ebp + 0x1c]
mov ebp, dword [esi + 0x78]
cmp eax, ebp
jge 0x44c032
mov edx, dword [ecx + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x78], edi
mov edi, ebp
xor ecx, ecx
mov ebx, dword [esp + 0x68]
imul edi, dword [esp + 0x88]
add edi, eax
mov ebx, dword [ebx]
imul edi, dword [esp + 0x84]
add edi, dword [esi + 0x4de4]
mov dword [esp + 0xac], ebx
test ebx, ebx
jle 0x44bf1a
mov ebx, dword [esi + 0x37cc]
mov dword [esp + 0xa4], ebx
mov ebx, ecx
shl ebx, 4
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + ebx + 4]
shl eax, 7
inc ecx
imul eax, dword [edx + ebx + 8]
add edi, eax
add edx, 0x10
cmp ecx, ebp
jl 0x44bef1
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0xe8]
mov ebx, edx
shl ebx, 7
imul ebx, dword [esp + 0x78]
add ebx, edi
xor edi, edi
test edx, edx
jle 0x44c01a
lea ebp, [edi + edi]
add ebp, ebp
add ebp, ebp
mov dword [esp + 0x7c], eax
mov esi, dword [esp + 0xe4]
lea eax, [edx + edx]
add eax, eax
add eax, eax
imul eax, dword [esp + 0x7c]
add eax, ebp
mov ecx, dword [esp + 0xe8]
cmp eax, dword [ecx + 0x4c]
jge 0x44c930
mov eax, dword [esi + 0x10]
test eax, eax
je 0x44c8ea
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 8]
mov dword [esp], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
call fcn.00427150
add ebx, 0x80
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xb0]
mov dword [esp], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x7c]
imul edx, dword [eax + 4]
add edx, edi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x88]
imul edx, dword [eax + 8]
add edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
call fcn.0044a6d0
test eax, eax
jne 0x44ce40
add ebp, 8
inc edi
mov eax, dword [esi + 0x34]
mov dword [esp + 0x68], eax
mov edx, dword [eax + 4]
cmp edi, edx
jl 0x44bf42
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0xe8]
mov ebp, dword [esi + 0x78]
inc eax
cmp eax, ebp
jl 0x44be8a
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov edx, dword [ecx + 8]
add ebx, 8
inc edi
cmp edi, edx
jl 0x44be54
mov ebp, dword [esp + 0x88]
mov edi, dword [esi + 0x37c0]
cmp edi, dword [esi + 0x37d4]
jg 0x44c360
cmp edi, dword [esi + 0x37d8]
jg 0x44c360
mov eax, dword [esp + 0xbc]
cmp ebp, eax
jl 0x44c360
mov eax, dword [esp + 0xc0]
cmp ebp, eax
jge 0x44c360
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x44c095
mov eax, dword [eax]
test eax, eax
je 0x44c1d0
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x9c]
test eax, eax
jle 0x44ca90
mov edx, ebp
mov ebx, dword [esi + 0x30]
mov ecx, dword [esp + 0x98]
imul ebx, dword [esi + 0x37b8]
imul eax, ebx
mov ebx, dword [esp + 0x9c]
sub edx, dword [esp + 0xbc]
imul edx, dword [esi + 0x37bc]
imul edx, dword [esi + 0x3c]
add edx, eax
mov eax, dword [esp + 0xe0]
imul edx, dword [esp + 0xb4]
add edx, dword [esi + 0x20]
mov dword [eax + 0x2c], edx
cmp ebx, ecx
jge 0x44ca08
mov eax, ebp
mov edi, dword [esi + 0x4834]
mov edx, dword [esp + 0x80]
imul eax, dword [esi + 0x78]
add eax, ebx
imul eax, dword [esp + 0x84]
add eax, dword [esi + 0x4de4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call dword [0x47b468]
mov edx, edi
xor eax, eax
mov ecx, dword [esi + 0x37c0]
test ecx, ecx
jle 0x44c99f
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebx
mov edi, ecx
mov dword [esp + 0x88], ebp
mov ecx, eax
shl ecx, 4
mov edx, ecx
add edx, dword [esi + 0x37cc]
mov ebp, dword [edx + 4]
xor ebx, ebx
imul ebp, dword [edx + 8]
test ebp, ebp
jle 0x44c981
mov dword [esp + 0x78], ecx
mov edi, dword [esp + 0xac]
mov dword [esp + 0x7c], eax
jmp 0x44c19a
mov edx, dword [esi + 0x37cc]
add edx, dword [esp + 0x78]
mov dword [esp], edi
mov eax, dword [edx + 0xc]
imul edx, eax, 0xb4
mov ecx, dword [edx + esi + 0x9c]
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call dword [eax + 0x110]
add edi, 0x80
inc ebx
cmp ebx, ebp
jl 0x44c190
jmp 0x44c970
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp ebx, eax
jge 0x44c360
mov eax, dword [esi + 0x78]
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], ebp
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0xe8]
imul edx, dword [esp + 0x88]
add edx, ebx
imul edx, dword [esp + 0x84]
add edx, dword [eax + 0x4de4]
xor eax, eax
test edi, edi
jle 0x44cadd
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 0x37cc]
mov ebp, dword [esp + 0x88]
shl ebp, 7
mov esi, ebx
shl esi, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], ebx
xor ebx, ebx
mov ebp, eax
shl ebp, 4
mov esi, dword [ebp + ecx + 8]
test esi, esi
jle 0x44cad0
lea edi, [eax + eax]
mov edx, dword [ebp + ecx + 4]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], eax
xor eax, eax
test edx, edx
jle 0x44cab6
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x78]
mov dword [esp + 0xac], ebp
jmp 0x44c2ab
mov ebp, dword [esp + 0xac]
mov esi, dword [ebp + ecx + 8]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 0x4ddc]
mov ebp, dword [esp + 0x70]
imul ebp, edi
imul ebp, edx
imul esi, ebp
mov ebp, dword [esp + 0x6c]
add esi, dword [ecx + ebx*2 + 4]
imul ebp, edx
add esi, ebp
shl edi, 7
imul edx, edi
xor ebp, ebp
imul edx, dword [esp + 0xa8]
add esi, edx
mov edx, eax
shl edx, 4
add esi, edx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xa4], eax
lea esi, [esi]
lea edi, [edi]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x10
call dword [0x47b468]
mov edi, dword [esp + 0xe8]
mov ecx, dword [edi + 0x37cc]
mov edi, dword [edi + 0x78]
mov edx, dword [esp + 0xac]
mov edx, dword [edx + ecx + 4]
mov eax, edi
shl eax, 4
imul eax, edx
add esi, eax
add ebx, 0x10
inc ebp
cmp ebp, 8
jl 0x44c300
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x64]
inc eax
cmp eax, edx
jl 0x44c2a0
jmp 0x44caa0
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x44cbfd
inc ebp
mov eax, dword [esi + 0x7c]
cmp ebp, eax
jl 0x44be0f
jmp 0x44cb00
mov ebp, dword [ebx + 0x20]
mov eax, dword [esp + 0x7c]
cmp ebp, eax
jge 0x44c8bd
mov eax, dword [esp + 0x90]
mov edx, eax
shl edx, 7
shl eax, 7
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x6c], edx
mov edi, dword [ebx + 0x1c]
cmp edi, ecx
jge 0x44c8ae
mov eax, ebp
shl eax, 7
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], ebp
mov ebp, ecx
xor eax, eax
mov edx, dword [ebx + 0x34]
imul ebp, dword [esp + 0x70]
add ebp, edi
mov edx, dword [edx]
imul ebp, dword [esp + 0x6c]
add ebp, dword [esi + 0x4de4]
mov dword [esp + 0xac], edx
test edx, edx
jle 0x44c452
mov edx, dword [esi + 0x37cc]
mov esi, dword [esp + 0xac]
mov dword [esp + 0x88], edx
mov edx, eax
shl edx, 4
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x8c], ecx
mov ecx, edx
mov dword [esp + 0xa4], edi
nop
mov edx, dword [ecx + ebx + 4]
shl edx, 7
inc eax
imul edx, dword [ecx + ebx + 8]
add ebp, edx
add ecx, 0x10
cmp eax, esi
jl 0x44c420
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x44c500
xor eax, eax
mov edx, dword [ebx]
test edx, edx
jle 0x44c56f
mov dword [esp + 0xa4], edi
mov esi, eax
xor edi, edi
mov ecx, dword [esp + esi*4 + 0x50]
test ecx, ecx
jle 0x44c4dc
lea esi, [esi]
mov dword [esp], ebp
mov dword [esp + 4], 0x80
call dword [0x47b464]
mov edx, dword [ebx + esi*4 + 0x24]
mov ecx, dword [esp + 0xe0]
mov word [esp + 0x60], dx
mov edx, dword [esp + esi*4 + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
lea edx, [esp + 0x60]
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x10], edx
call fcn.00426e50
movsx edx, word [esp + 0x60]
add ebp, 0x80
inc edi
mov dword [ebx + esi*4 + 0x24], edx
cmp edi, dword [esp + esi*4 + 0x50]
jl 0x44c480
mov edx, dword [ebx]
inc esi
cmp esi, edx
jl 0x44c472
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xe8]
mov ecx, dword [esi + 0x78]
jmp 0x44c56f
xor eax, eax
mov edx, dword [ebx]
test edx, edx
jle 0x44c56f
mov dword [esp + 0xa4], edi
xor esi, esi
mov ecx, dword [esp + eax*4 + 0x50]
test ecx, ecx
jle 0x44c559
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0xe0]
mov esi, esi
lea edi, [edi]
mov dword [esp], edi
mov eax, dword [ebx + 0x14]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00426f30
add ebp, 0x80
inc esi
mov eax, dword [esp + 0xac]
cmp esi, dword [esp + eax*4 + 0x50]
jl 0x44c530
mov edx, dword [ebx]
inc eax
cmp eax, edx
jl 0x44c50f
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xe8]
mov ecx, dword [esi + 0x78]
mov edx, dword [esp + 0xe0]
mov eax, dword [esi + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
call fcn.0044a6d0
test eax, eax
jne 0x44ce50
mov eax, dword [esp + 0x9c]
cmp edi, eax
jl 0x44c890
mov eax, dword [esp + 0x98]
cmp edi, eax
jge 0x44c880
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x70]
cmp edx, eax
jl 0x44c870
mov eax, dword [esp + 0xc0]
cmp edx, eax
jge 0x44c860
mov edx, dword [esi + 0x37c0]
cmp edx, dword [esi + 0x37d4]
jg 0x44c850
cmp edx, dword [esi + 0x37d8]
jg 0x44c840
mov ecx, dword [esi + 0x78]
mov eax, ecx
imul eax, dword [esp + 0x70]
add eax, edi
imul eax, dword [esp + 0x6c]
add eax, dword [esi + 0x4de4]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x44c770
mov eax, dword [eax]
test eax, eax
jne 0x44c770
xor ebp, ebp
test edx, edx
jle 0x44c893
mov eax, dword [esi + 0x37cc]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xa4], edi
xor ecx, ecx
mov edi, ebp
shl edi, 4
mov ebx, dword [edi + eax + 8]
test ebx, ebx
jle 0x44cc8d
lea edx, [ebp + ebp]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xa8], edx
mov edx, dword [edi + eax + 4]
shl esi, 4
mov dword [esp + 0xac], esi
mov dword [esp + 0x88], ebp
xor esi, esi
test edx, edx
jle 0x44cc70
mov eax, ecx
shl eax, 7
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x8c]
jmp 0x44c6c8
mov ebx, dword [esp + 0x78]
mov ebx, dword [ebx + eax + 8]
mov ebp, esi
shl ebp, 4
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x4ddc]
add ebp, dword [eax + edi*2 + 4]
mov eax, dword [esp + 0x64]
imul eax, ecx
imul eax, edx
imul ebx, eax
add ebp, ebx
mov ebx, edx
imul ebx, dword [esp + 0x80]
imul edx, dword [esp + 0xac]
imul ecx, ebx
add ebp, ecx
add ebp, edx
xor ebx, ebx
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x74]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], 0x10
call dword [0x47b468]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + 0x37cc]
mov ecx, dword [ecx + 0x78]
mov edx, dword [esp + 0x78]
mov edx, dword [edx + eax + 4]
mov edi, ecx
shl edi, 4
imul edi, edx
add ebp, edi
add esi, 0x10
inc ebx
cmp ebx, 8
jl 0x44c710
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0xa8]
inc esi
cmp esi, edx
jl 0x44c6c0
jmp 0x44cc5a
mov ebp, dword [esi + 0x4834]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x68]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call dword [0x47b468]
mov edx, dword [esi + 0x4834]
xor eax, eax
mov ecx, dword [esi + 0x37c0]
test ecx, ecx
jle 0x44ccf2
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa4], edi
mov edi, eax
shl edi, 4
mov edx, edi
add edx, dword [esi + 0x37cc]
mov ebp, dword [edx + 4]
xor ebx, ebx
imul ebp, dword [edx + 8]
test ebp, ebp
jle 0x44ccd4
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
jmp 0x44c7fd
mov edx, dword [esi + 0x37cc]
add edx, dword [esp + 0xb4]
mov dword [esp], edi
mov eax, dword [edx + 0xc]
imul ecx, eax, 0xb4
mov edx, dword [ecx + esi + 0x9c]
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], edx
call dword [eax + 0x110]
add edi, 0x80
inc ebx
cmp ebx, ebp
jl 0x44c7f0
jmp 0x44ccc0
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x44cd50
inc edi
cmp edi, ecx
jl 0x44c3c2
mov ebp, dword [esp + 0x70]
mov eax, dword [esi + 0x7c]
inc ebp
cmp ebp, eax
jl 0x44c3aa
mov edi, dword [esi + 0x37c0]
cmp edi, dword [esi + 0x37d4]
jg 0x44c8dd
cmp edi, dword [esi + 0x37d8]
jg 0x44c8dd
mov eax, 2
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 8]
mov dword [esp], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
call fcn.00426fa0
add ebx, 0x80
jmp 0x44bfa1
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0xe8]
mov ebp, dword [esi + 0x78]
jmp 0x44c01a
mov ebp, dword [esp + 0x88]
mov edi, dword [esi + 0x37c0]
jmp 0x44c04b
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0x7c]
mov edi, dword [esi + 0x37c0]
inc eax
cmp eax, edi
jl 0x44c160
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x88]
mov dword [esp], esi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esi + 0x78]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0x28], al
call fcn.00449070
inc ebx
mov eax, dword [esp + 0x98]
cmp ebx, eax
jl 0x44c0fc
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x44c360
mov eax, dword [esp + 0x98]
cmp ebx, eax
jne 0x44c360
mov dword [esp], esi
mov edi, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x90]
mov ecx, dword [esi + 0x4834]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esi + 0x78]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0x28], al
call fcn.00449070
jmp 0x44c360
xor eax, eax
jmp 0x44c0ae
mov dword [esp + 0x78], edi
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
mov esi, dword [ebp + ecx + 8]
inc ebx
cmp ebx, esi
jl 0x44c26f
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xe8]
mov edi, dword [edx + 0x37c0]
inc eax
cmp eax, edi
jl 0x44c24d
mov ebx, dword [esp + 0x7c]
inc ebx
mov eax, dword [esp + 0x98]
cmp ebx, eax
jl 0x44c1f4
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0xe8]
jmp 0x44c360
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0xe4]
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x44cb1f
mov eax, dword [eax]
test eax, eax
je 0x44cbcb
mov eax, dword [esp + 0x94]
test eax, eax
je 0x44cbc0
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
cmp edx, eax
jg 0x44cbd6
mov eax, dword [esp + 0x7c]
mov ebp, edx
jmp 0x44cb53
mov eax, dword [esi + 0x7c]
mov dword [esp], esi
mov edi, dword [esp + 0xe0]
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edi
mov ecx, dword [esi + 0x4834]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov edx, dword [esi + 0x78]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0x28], al
call fcn.00449070
inc ebp
mov eax, dword [esp + 0x98]
cmp ebp, eax
jle 0x44cb50
jmp 0x44cbd6
mov edi, dword [esi + 0x37c0]
jmp 0x44c8bd
mov edi, dword [esi + 0x37c0]
jmp 0x44c8bd
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x44cbe8
mov edi, dword [esi + 0x37c0]
jmp 0x44c8bd
xor edx, edx
xor eax, eax
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x20], edx
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebx, dword [esp + 0xe4]
lea edx, [ebp + 1]
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x1c], 0
add eax, dword [esi + 0x7c]
cmp edx, eax
jne 0x44cc33
mov dword [ebx + 0x20], 0
xor eax, eax
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esi + 0x78]
dec edx
mov eax, 1
mov dword [esi + 0xc], edx
sub ebp, dword [esp + 0x94]
mov dword [esi + 0x10], ebp
mov dword [esi + 4], edx
mov dword [esi + 8], ebp
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov ebx, dword [edi + eax + 8]
inc ecx
cmp ecx, ebx
jl 0x44c68a
mov ebp, dword [esp + 0x88]
mov edx, dword [esp + 0xe8]
mov edx, dword [edx + 0x37c0]
inc ebp
cmp ebp, edx
jl 0x44c650
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
jmp 0x44c893
mov dword [esp + 0xa8], edi
mov eax, dword [esp + 0xb0]
mov ecx, dword [esi + 0x37c0]
inc eax
cmp eax, ecx
jl 0x44c7ba
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0xe4]
mov dword [esp], esi
mov eax, dword [esp + 0xe0]
mov ecx, dword [esi + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xa0]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebp
mov byte [esp + 0x28], al
call fcn.00449070
mov ecx, dword [esi + 0x78]
jmp 0x44c893
mov ebp, dword [esp + 0x70]
lea eax, [edi + 1]
cdq
idiv ecx
test edx, edx
mov dword [ebx + 0x1c], edx
je 0x44cd66
mov dword [ebx + 0x20], ebp
jmp 0x44cd85
lea eax, [ebp + 1]
mov dword [ebx + 0x20], eax
cmp eax, dword [esi + 0x7c]
jne 0x44cd85
mov dword [ebx + 0x20], 0
xor eax, eax
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
sub edi, dword [esp + 0xc4]
mov eax, 1
mov dword [esi + 0xc], edi
sub ebp, dword [esp + 0x94]
mov dword [esi + 0x10], ebp
mov dword [esi + 4], edi
mov dword [esi + 8], ebp
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0xa8]
cmp eax, 2
jne 0x44bc90
mov eax, 1
mov dword [esp + 0x94], eax
jmp 0x44bc99
mov eax, dword [esp + 0xb0]
cmp eax, 2
jne 0x44bc7e
mov eax, 1
mov dword [esp + 0xc4], eax
jmp 0x44bc87
mov byte [esp + 0xa0], al
mov ebx, dword [esp + 0xe4]
jmp 0x44bbfe
mov eax, dword [esi + 0x37bc]
cmp eax, 1
mov dword [esp + 0xa8], eax
jne 0x44bba8
xor al, al
mov edi, dword [esi + 0x37c0]
mov byte [esp + 0xa0], al
jmp 0x44bbfe
mov dword [ebx + edx*4 + 0x24], 0
mov ecx, dword [ebx]
jmp 0x44bb50
mov eax, 0xffffffe7
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffe7
add esp, 0xcc
pop ebx
pop ebp
pop esi
pop edi
ret