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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x44d4f2
sub esp, 0x9c
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x98], ecx
lea edx, [0x79fd80]
mov dword [esp], edx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
lea ebp, [esp + 0x94]
mov dword [esp + 8], ebp
call fcn.0040c400
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44cebc
lea eax, [0x79fd80]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
lea ecx, [esp + 0x94]
mov dword [esp + 8], ecx
call fcn.0040c780
mov eax, dword [esp + 0xc]
test byte [eax], al
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
je 0x44cead
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp bl, dl
jne 0x44ce9e
mov byte [esp + 0x17], dl
mov dword [esp], ecx
call fcn.0044b980
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
call fcn.0044b980
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
jne 0x44ce8f
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44ce8f
mov ebx, dword [esp + 0xa0]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
jne 0x44c91b
xor ebp, ebp
jmp 0x44c98c
movzx ebp, byte [ebx + 0xf]
and ebp, 0x1f
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
ja 0x44c959
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
ja 0x44c948
xchg ebp, eax
cmp al, 0x11
xchg ebp, eax
jne 0x44c93c
lea ebp, [ebx + 0x2c]
jmp 0x44c98c
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x44c989
lea ebp, [ebx + 0x28]
jmp 0x44c98c
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x44c954
lea ebp, [ebx + 0x24]
jmp 0x44c98c
lea ebp, [ebx + 0x30]
jmp 0x44c98c
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
ja 0x44c971
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
jne 0x44c96c
lea ebp, [ebx + 0x38]
jmp 0x44c98c
lea ebp, [ebx + 0x24]
jmp 0x44c98c
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
jne 0x44c97d
lea ebp, [ebx + 0x24]
jmp 0x44c98c
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
jne 0x44c989
lea ebp, [ebx + 0x30]
jmp 0x44c98c
lea ebp, [ebx + 0x20]
mov esi, dword [esp + 0xa4]
movzx edi, byte [esi + 0xc]
xchg edi, eax
test al, 1
xchg edi, eax
jne 0x44c9a2
xor edi, edi
jmp 0x44ca13
movzx edi, byte [esi + 0xf]
and edi, 0x1f
xchg edi, eax
cmp al, 0x14
xchg edi, eax
ja 0x44c9e0
xchg edi, eax
cmp al, 0x12
xchg edi, eax
ja 0x44c9cf
xchg edi, eax
cmp al, 0x11
xchg edi, eax
jne 0x44c9c3
lea edi, [esi + 0x2c]
jmp 0x44ca13
xchg edi, eax
cmp al, 0x12
xchg edi, eax
jne 0x44ca10
lea edi, [esi + 0x28]
jmp 0x44ca13
xchg edi, eax
cmp al, 0x13
xchg edi, eax
jne 0x44c9db
lea edi, [esi + 0x24]
jmp 0x44ca13
lea edi, [esi + 0x30]
jmp 0x44ca13
xchg edi, eax
cmp al, 0x16
xchg edi, eax
ja 0x44c9f8
xchg edi, eax
cmp al, 0x15
xchg edi, eax
jne 0x44c9f3
lea edi, [esi + 0x38]
jmp 0x44ca13
lea edi, [esi + 0x24]
jmp 0x44ca13
xchg edi, eax
cmp al, 0x17
xchg edi, eax
jne 0x44ca04
lea edi, [esi + 0x24]
jmp 0x44ca13
xchg edi, eax
cmp al, 0x19
xchg edi, eax
jne 0x44ca10
lea edi, [esi + 0x30]
jmp 0x44ca13
lea edi, [esi + 0x20]
test ebp, ebp
jne 0x44ca23
test edi, edi
je 0x44cac3
test ebp, ebp
je 0x44ca27
test edi, edi
jne 0x44ca36
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov dword [esp + 0x60], edi
mov eax, dword [ebp]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0044bb40
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0044bed0
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0044bb40
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0044bed0
mov eax, dword [esp + 0x28]
cmp dword [esp + 8], eax
jne 0x44ce80
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44ce80
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
movzx ebp, byte [esp + 0x17]
lea edi, [ebp - 1]
xchg edi, eax
cmp al, 0xf
xchg edi, eax
jbe 0x44ce71
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
ja 0x44cd3b
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jbe 0x44cc9e
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x44cb96
movzx ebp, word [ebx + 0x22]
cmp word [esi + 0x22], bp
jne 0x44cb87
movzx ebp, word [ebx + 0x20]
movzx edi, word [esi + 0x20]
cmp di, bp
jne 0x44cb87
nop
mov eax, edi
movzx edi, byte [ebx + 0xc]
xchg edi, eax
test al, 1
xchg edi, eax
je 0x44cb27
mov ecx, 0x34
jmp 0x44cb2c
mov ecx, 0x24
movzx ebp, bp
lea edi, [ecx + ebx]
cmp ebp, 0x100000
ja 0x44d4e5
nop
mov ecx, ebx
movzx ebx, byte [esi + 0xc]
test bl, 1
je 0x44cb51
mov edx, 0x34
jmp 0x44cb56
mov edx, 0x24
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], ebp
movzx ebx, ax
mov dword [esp + 0x20], ebx
mov eax, esi
add esi, edx
mov dword [esp + 0x58], esi
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
jmp 0x44d313
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
jne 0x44cc36
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call fcn.0044bed0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 0x20]
mov dword [esp], ebx
call fcn.0044bed0
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
jne 0x44cc27
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44cc27
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0x28]
mov ebp, dword [esp + 0xa4]
cmp dword [ebp + 0x28], ebx
jne 0x44cc18
mov dword [esp + 0x44], ebx
xor eax, eax
jmp 0x44d0f9
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44cc60
xor eax, eax
jmp 0x44cc90
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xac], al
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x11
xchg ebp, eax
je 0x44ccec
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x44cecb
mov eax, dword [ebx + 0x24]
cmp dword [esi + 0x24], eax
je 0x44ccbc
xor eax, eax
jmp 0x44ccde
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xac], al
add esp, 0x9c
ret
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x44cd2b
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x28], eax
sete al
jmp 0x44cd2d
xor eax, eax
mov byte [esp + 0xac], al
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
ja 0x44cda9
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
jne 0x44cd79
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xac], al
add esp, 0x9c
ret
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xac], al
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x18
xchg ebp, eax
je 0x44ce62
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
jne 0x44ce5b
mov eax, dword [esi + 0x28]
cmp dword [ebx + 0x28], eax
jne 0x44ce4c
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call fcn.0044bed0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 0x20]
mov dword [esp], ebx
call fcn.0044bed0
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
jne 0x44ce3d
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44ce3d
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0xa4]
xor eax, eax
jmp 0x44cefa
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
xchg ebp, eax
cmp al, 0x1a
xchg ebp, eax
jne 0x44cecb
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
lea eax, [0x7b5316]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.0042fde0
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
cmp eax, ebx
jge 0x44d0c5
mov esi, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x44d0db
lea edi, [eax + eax*2]
mov edx, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x28]
cmp eax, ebp
jae 0x44d0d4
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], edi
mov eax, dword [esi + edi*4]
mov dword [esp], eax
call fcn.0044bed0
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.0044bed0
mov eax, dword [esp + 0x3c]
cmp dword [esp + 8], eax
jne 0x44d0b6
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44d0b6
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [ebx + eax*4 + 4]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x44d0a7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + eax*4]
mov dword [esp], edx
call fcn.0044bfb0
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.0044bfb0
mov eax, dword [esp + 0x3c]
cmp dword [esp + 8], eax
jne 0x44d098
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44d098
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x88]
mov ebp, dword [ebx + edx*4 + 8]
mov esi, dword [esp + 0x8c]
lea edi, [esi + edx*4 + 8]
cmp dword [edi], ebp
jne 0x44d089
mov ebx, dword [ebx + edx*4]
mov edx, dword [esi + edx*4]
movzx ebx, byte [ebx]
test bl, 8
setne bl
movzx edx, byte [edx]
test dl, 8
setne dl
cmp dl, bl
je 0x44cee1
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov ecx, ebp
call fcn.00452970
call fcn.00452970
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
cmp eax, ebx
jge 0x44d2ca
mov esi, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x44d2e0
lea edi, [esi + eax*8]
mov edx, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x28]
cmp eax, ebp
jae 0x44d2d9
mov dword [esp + 0x84], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x80], esi
lea ecx, [esi + eax*8]
mov ecx, dword [ecx]
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0044bb40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x84]
lea edx, [ecx + eax*8]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x7c], ebx
lea ebp, [ecx + eax*8]
mov ebp, dword [ebp]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0044bb40
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call fcn.0044bed0
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call fcn.0044bed0
mov eax, dword [esp + 0x40]
cmp dword [esp + 8], eax
jne 0x44d2bb
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44d2bb
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0044c0e0
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call fcn.0044c0e0
mov eax, dword [esp + 0x40]
cmp dword [esp + 8], eax
jne 0x44d2ac
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402f00
movzx eax, byte [esp + 0xc]
test al, al
je 0x44d2ac
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x80]
lea ecx, [ecx + eax*8 + 4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0044bc60
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x84]
lea edx, [edx + ecx*8 + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0044bc60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44d0e0
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov ecx, ebp
call fcn.00452970
call fcn.00452970
mov eax, dword [esp + 0x38]
inc eax
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x38]
cmp esi, ebp
jge 0x44d35b
jae 0x44d4dc
mov edi, dword [edi + esi*4]
cmp esi, ebx
jae 0x44d4d3
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + esi*4]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44d2e5
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
nop
movzx ebx, byte [ecx + 0xc]
test bl, 1
je 0x44d36c
mov ebx, 0x34
jmp 0x44d371
mov ebx, 0x24
movzx ebp, word [ecx + 0x22]
and ebp, 0x7fff
movzx esi, word [ecx + 0x20]
add ebp, esi
movzx ebp, bp
add ebx, ecx
cmp ebp, 0x100000
ja 0x44d4c7
movzx esi, si
cmp esi, ebp
ja 0x44d4be
nop
sub ebp, esi
lea edi, [esi - 0x100000]
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl esi, 2
sar edi, 0x1f
and esi, edi
add ebx, esi
movzx esi, byte [eax + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x44d3ce
mov ecx, 0x34
jmp 0x44d3d3
mov ecx, 0x24
mov dword [esp + 0x54], ebx
movzx esi, word [eax + 0x22]
and esi, 0x7fff
movzx edi, word [eax + 0x20]
add esi, edi
movzx esi, si
lea ebx, [ecx + eax]
cmp esi, 0x100000
ja 0x44d4b2
movzx eax, di
cmp eax, esi
ja 0x44d4ab
mov dword [esp + 0x1c], ebp
sub esi, eax
mov dword [esp + 0x18], esi
lea edi, [eax - 0x100000]
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 2
sar edi, 0x1f
and eax, edi
add ebx, eax
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x54]
xor eax, eax
jmp 0x44d452
mov eax, dword [esp + 0x34]
inc eax
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
cmp eax, ebp
jge 0x44d48e
jae 0x44d4a4
mov edi, dword [edi + eax*4]
cmp eax, esi
jae 0x44d49d
mov dword [esp + 0x34], eax
mov ecx, dword [ebx + eax*4]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044c7d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44d436
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov ecx, esi
call fcn.00452970
mov ecx, ebp
call fcn.00452970
mov ecx, esi
call fcn.004529d0
mov ecx, esi
mov edx, 0x100000
call fcn.00452990
mov eax, esi
mov ecx, ebp
call fcn.004529d0
mov ecx, ebp
mov edx, 0x100000
call fcn.00452990
mov eax, esi
mov ecx, ebx
call fcn.00452970
mov eax, esi
mov ecx, ebp
call fcn.00452970
mov ecx, ebp
mov edx, 0x100000
call fcn.00452990
nop
call fcn.004514c0
jmp fcn.0044c7d0