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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x68]
xor ebx, ebx
push esi
push edi
mov byte [esp + 0x13], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], esi
test esi, esi
jne 0x44a6aa
push ebp
call fcn.004a48f0
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
je 0x44a695
push 0x9e
push esi
call fcn.004a3ce0
add esp, 8
cmp dword [ebp + 0x198], ebx
jne 0x44a6aa
mov eax, dword [ebp]
test byte [eax + 0x3c], 8
jne 0x44a6aa
mov byte [ebp + 0x17], 1
mov ecx, dword [ebp + 0x50]
push ecx
push 0x2c
push esi
lea eax, [ecx + 1]
mov dword [ebp + 0x50], eax
call fcn.004a3d50
mov edx, dword [esp + 0x84]
xor esi, esi
mov dword [esp + 0x58], eax
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ecx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x2c], eax
xor eax, eax
mov ebx, eax
mov dword [esp + 0x14], eax
cmp edi, dword [esp + 0x30]
jae 0x44a8ee
jmp 0x44a719
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [edi]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x44a7a1
test byte [edi + 0x14], 2
jne 0x44a7a1
test byte [esi + 4], 1
jne 0x44a7a1
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x50]
push esi
push eax
mov byte [esp + 0x6c], 3
mov dword [esp + 0x58], 0x44f4b0
mov dword [esp + 0x5c], 0x4757a0
call fcn.004afa60
add esp, 8
cmp byte [esp + 0x64], 0
je 0x44a79d
push 0
push 0
push esi
push dword [ebp]
call fcn.0044f220
push eax
push ebx
push dword [ebp]
call fcn.004815b0
add esp, 0x1c
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x78]
mov ecx, dword [edi + 8]
cmp ecx, dword [edx + 0x30]
jne 0x44a8d5
test byte [edi + 0x12], 0x82
je 0x44a8d5
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [esp + 0x7c]
and eax, dword [esp + 0x80]
or ecx, eax
jne 0x44a8d5
mov eax, dword [edi + 0xc]
test eax, eax
js 0x44a8d5
push dword [edi]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 0x15]
call fcn.0044a030
movsx eax, al
add esp, 4
sub eax, 0x41
je 0x44a817
dec eax
je 0x44a807
xor eax, eax
cmp bl, 0x43
setge al
jmp 0x44a80f
xor eax, eax
cmp bl, 0x42
sete al
test eax, eax
je 0x44a8d1
mov esi, dword [edi + 0xc]
cmp esi, 0x40
jl 0x44a82b
xor ebx, ebx
mov dword [esp + 0x40], 0x80000000
jmp 0x44a83f
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00402540
mov ebx, eax
mov dword [esp + 0x40], edx
cmp byte [esp + 0x13], 0
jne 0x44a86c
mov eax, dword [esp + 0x38]
lea esi, [esi + esi*2]
mov ecx, dword [eax + 4]
push dword [ecx + esi*8]
push dword [eax]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0043b3c0
add esp, 0x10
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x40]
mov ecx, ebx
and ecx, dword [esp + 0x14]
mov eax, esi
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x44a8d1
mov eax, dword [esp + 0x1c]
inc eax
push eax
push dword [esp + 0x30]
mov dword [esp + 0x48], eax
push dword [ebp]
call fcn.004be050
add esp, 0xc
test eax, eax
jne 0x44b4f4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov eax, dword [eax + 0x30]
mov dword [eax + ecx*4], edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
or eax, ebx
or ecx, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jmp 0x44a8dd
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add edi, 0x30
cmp edi, dword [esp + 0x30]
jb 0x44a715
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
not eax
not ecx
or ecx, 0x80000000
mov word [ebx + 0x28], si
mov word [ebx + 0x18], si
xor esi, esi
mov dword [ebx + 0x24], 0x4241
and eax, dword [edx + 0x40]
mov edi, dword [edx + 0x44]
and ecx, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], ecx
movzx ebx, word [eax + 0x22]
mov eax, 0x3f
mov dword [esp + 0x3c], ebx
cmp ax, bx
jge 0x44a93d
mov dword [esp + 0x34], eax
jmp 0x44a948
movsx eax, bx
mov dword [esp + 0x34], eax
test eax, eax
jle 0x44a982
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00402540
and eax, dword [esp + 0x14]
and edx, edi
or eax, edx
je 0x44a96d
inc ebx
inc esi
cmp esi, ebp
jl 0x44a954
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
and edi, 0x80000000
xor eax, eax
or eax, edi
je 0x44a99e
movsx eax, bx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 1]
movzx ebx, ax
movsx esi, bx
lea eax, [esi*4 + 9]
add eax, esi
lea edi, [esi*4 + 7]
and eax, 0xfffffff8
and edi, 0xfffffff8
add eax, 0x38
add eax, edi
cdq
push edx
push eax
push dword [ebp]
mov dword [esp + 0x4c], eax
call fcn.0047f320
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x44b4f4
push dword [esp + 0x40]
push 0
push eax
call sub.MSVCRT.dll_memset
mov edx, dword [esp + 0x2c]
lea eax, [esi + 1]
add esp, 0xc
lea ecx, [edx + 0x38]
mov word [edx + 0x30], bx
mov dword [edx + 0x20], ecx
add ecx, edi
mov dword [edx + 8], ecx
xor edi, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
lea eax, [ecx + eax*2]
mov dword [edx + 4], eax
lea eax, [eax + esi*2]
mov dword [edx + 0x1c], eax
lea eax, [ebx - 1]
mov ebx, edx
mov edx, dword [esp + 0x74]
mov word [ebx + 0x2e], ax
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x38]
mov dword [ebx], str.auto_index
mov dword [ebx + 0xc], eax
mov edx, dword [edx + 0x14]
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x30]
jae 0x44abd4
mov esi, dword [esp + 0x78]
mov eax, dword [edx + 8]
cmp eax, dword [esi + 0x30]
jne 0x44abc3
test byte [edx + 0x12], 0x82
je 0x44abc3
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
and ecx, dword [esp + 0x7c]
and eax, dword [esp + 0x80]
or ecx, eax
jne 0x44abc3
mov eax, dword [edx + 0xc]
test eax, eax
js 0x44abc3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x10]
mov esi, dword [edx]
mov eax, dword [eax + 4]
push dword [esi + 0xc]
mov bh, byte [eax + ecx*8 + 0x15]
call fcn.00481350
mov bl, al
add esp, 4
mov eax, dword [esi + 0x10]
test eax, eax
je 0x44aacc
push eax
call fcn.00481350
add esp, 4
test al, al
je 0x44aae1
test bl, bl
je 0x44aae5
cmp al, 0x43
jge 0x44aac8
cmp bl, 0x43
jl 0x44aaed
mov bl, 0x43
jmp 0x44aaef
test dword [esi + 4], 0x800
je 0x44aae9
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 4]
push dword [eax]
jmp 0x44aaaf
test bl, bl
je 0x44aaed
add bl, al
jmp 0x44aaef
test bl, bl
jne 0x44aaef
mov bl, 0x41
movsx eax, bl
sub eax, 0x41
je 0x44ab14
dec eax
je 0x44ab04
xor eax, eax
cmp bh, 0x43
setge al
jmp 0x44ab0c
xor eax, eax
cmp bh, 0x42
sete al
test eax, eax
je 0x44abb7
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0xc]
cmp ecx, 0x40
jl 0x44ab29
xor eax, eax
mov ebx, 0x80000000
jmp 0x44ab3b
mov eax, 1
xor edx, edx
call fcn.00402540
mov ebx, edx
mov edx, dword [esp + 0x28]
mov esi, eax
mov ecx, ebx
and esi, dword [esp + 0x3c]
and ecx, dword [esp + 0x40]
or esi, ecx
jne 0x44abbb
or dword [esp + 0x40], ebx
or dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edx, dword [edx]
mov ecx, dword [ebx + 4]
mov ax, word [eax + 0xc]
mov word [ecx + edi*2], ax
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
test dword [eax + 4], 0x100
je 0x44ab7a
push eax
jmp 0x44ab96
test esi, esi
je 0x44ab87
test dword [esi + 4], 0x100
jne 0x44ab95
push eax
push ebp
call fcn.004839f0
add esp, 8
test eax, eax
jne 0x44aba8
push esi
push ebp
call fcn.004839f0
add esp, 8
mov ecx, str.BINARY
test eax, eax
je 0x44abaa
mov ecx, dword [eax]
mov eax, dword [ebx + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + edi*4], ecx
inc edi
jmp 0x44abbf
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x78]
add edx, 0x30
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x30]
jb 0x44aa51
xor esi, esi
cmp dword [esp + 0x34], esi
jle 0x44ac15
mov ebp, dword [esp + 0x34]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00402540
and eax, dword [esp + 0x14]
and edx, dword [esp + 0x18]
or eax, edx
je 0x44ac0c
mov eax, dword [ebx + 4]
mov word [eax + edi*2], si
mov eax, dword [ebx + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
inc esi
cmp esi, ebp
jl 0x44abe0
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
xor eax, eax
mov ecx, dword [ecx + 0x44]
and ecx, 0x80000000
or eax, ecx
je 0x44ac5b
mov edx, dword [esp + 0x38]
mov eax, 0x3f
cmp ax, word [edx + 0x22]
jge 0x44ac5b
mov ecx, eax
lea esp, [esp]
mov eax, dword [ebx + 4]
mov word [eax + edi*2], cx
inc ecx
mov eax, dword [ebx + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
movsx eax, word [edx + 0x22]
cmp ecx, eax
jl 0x44ac40
mov eax, dword [ebx + 4]
or ecx, 0xffffffff
mov word [eax + edi*2], cx
mov eax, dword [ebx + 0x20]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x48]
mov dword [eax + edi*4], str.BINARY
mov eax, dword [ebp + 0x44]
mov dword [ecx + 8], eax
inc dword [ebp + 0x44]
mov edi, dword [ebx + 0x18]
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x78], eax
cmp dword [edi + 0x54], eax
jg 0x44ad04
mov eax, dword [edi + 0x54]
test eax, eax
je 0x44aca4
add eax, eax
jmp 0x44aca9
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [edi]
call fcn.0047f4e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44ad39
mov eax, dword [edi]
test eax, eax
je 0x44ace4
cmp esi, dword [eax + 0x114]
jb 0x44ace4
cmp esi, dword [eax + 0x118]
jae 0x44ace4
movzx ecx, word [eax + 0xf8]
jmp 0x44acf0
push esi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x78]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x38
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ecx + 8], eax
push dword [esp + 0x20]
mov esi, dword [ebp + 8]
push ebp
call fcn.00490cf0
mov edx, dword [esi]
mov edi, eax
mov eax, dword [esi + 4]
add esp, 8
test eax, eax
je 0x44ad96
cmp byte [edx + 0x41], 0
jne 0x44ad96
mov ecx, dword [esi + 0x20]
dec ecx
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + 4]
push dword [ecx + eax*4 + 0x10]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.00452320
add esp, 0xc
mov dword [esi + 0x10], 0
test edi, edi
jne 0x44ad8d
mov dword [esi + 0x10], edi
mov byte [esi + 1], 0
jmp 0x44ada2
mov dword [esi + 0x10], edi
mov byte [esi + 1], 0xfa
jmp 0x44ada2
push edi
push 0xfffffffffffffffa
push edx
call fcn.00452320
add esp, 0xc
mov edx, dword [esp + 0x84]
inc dword [ebp + 0x64]
movzx eax, byte [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x74]
shl ecx, 4
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, 8
add ecx, eax
mov dword [esp + 0x40], ecx
test byte [ecx + 0x28], 4
je 0x44af28
mov eax, dword [ecx + 0x1c]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x78], eax
cmp dword [edi + 0x54], eax
jg 0x44ae5a
mov eax, dword [edi + 0x54]
test eax, eax
je 0x44adfa
add eax, eax
jmp 0x44adff
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [edi]
call fcn.0047f4e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44ae8e
mov eax, dword [edi]
test eax, eax
je 0x44ae3a
cmp esi, dword [eax + 0x114]
jb 0x44ae3a
cmp esi, dword [eax + 0x118]
jae 0x44ae3a
movzx ecx, word [eax + 0xf8]
jmp 0x44ae46
push esi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x78]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x70]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], ecx
cmp dword [ecx + 0x54], esi
jg 0x44af14
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x44aeac
add eax, eax
jmp 0x44aeb1
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [ecx]
call fcn.0047f4e0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x44b05e
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
test eax, eax
je 0x44aef4
cmp edi, dword [eax + 0x114]
jb 0x44aef4
cmp edi, dword [eax + 0x118]
jae 0x44aef4
movzx ecx, word [eax + 0xf8]
jmp 0x44af00
push edi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [ebx + 4], edi
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov word [eax + ecx*4], 0x14
jmp 0x44afc4
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov eax, dword [edx + 4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], ecx
cmp dword [ecx + 0x54], esi
jg 0x44afb5
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x44af4d
add eax, eax
jmp 0x44af52
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [ecx]
call fcn.0047f4e0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x44b05e
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
test eax, eax
je 0x44af95
cmp edi, dword [eax + 0x114]
jb 0x44af95
cmp edi, dword [eax + 0x118]
jae 0x44af95
movzx ecx, word [eax + 0xf8]
jmp 0x44afa1
push edi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [ebx + 4], edi
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov word [eax + ecx*4], 0x6d
mov edx, dword [esp + 0x74]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov byte [eax + ecx*4 + 3], 0
mov esi, dword [esp + 0x24]
test esi, esi
je 0x44b126
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x70], ecx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x48], edx
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea eax, [edx - 1]
test edx, eax
jne 0x44b0f7
mov edi, dword [ecx + 0x70]
lea eax, [edx*8 + 4]
mov esi, dword [ecx]
push 0
push eax
push edi
push esi
call fcn.0047f4e0
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x74], ecx
test ecx, ecx
jne 0x44b0e4
test edi, edi
je 0x44b0e4
test esi, esi
je 0x44b08f
cmp dword [esi + 0x208], eax
je 0x44b069
push edi
push esi
call fcn.00467960
add esp, 8
jmp 0x44b0e4
mov eax, 1
mov dword [esp + 0x78], eax
jmp 0x44afe9
cmp edi, dword [esi + 0x114]
jb 0x44b08f
cmp edi, dword [esi + 0x118]
jae 0x44b08f
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
jmp 0x44b0e4
cmp dword [0x4e2568], 0
je 0x44b0da
mov eax, dword [0x4e4db0]
test eax, eax
je 0x44b0ab
push eax
call dword [0x4e25bc]
add esp, 4
push edi
call dword [0x4e2598]
sub dword [0x4e4c08], eax
dec dword [0x4e4c2c]
push edi
call dword [0x4e2590]
mov eax, dword [0x4e4db0]
add esp, 8
test eax, eax
je 0x44b0e4
push eax
call dword [0x4e25c4]
jmp 0x44b0e1
push edi
call dword [0x4e2590]
add esp, 4
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov dword [ecx + 0x70], eax
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x44b105
mov dword [eax + edx*4], 0xffffffff
or eax, 0xffffffff
sub eax, edx
push 0x10
push eax
push esi
push ebp
mov dword [esp + 0x54], eax
call fcn.00483df0
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov al, byte [ebp + 0x13]
test al, al
jne 0x44b135
inc dword [ebp + 0x48]
mov edi, dword [ebp + 0x48]
jmp 0x44b141
dec al
mov byte [ebp + 0x13], al
movzx eax, al
mov edi, dword [ebp + eax*4 + 0x18]
mov esi, dword [esp + 0x84]
push 0
push 0
push 0
push 0
push edi
push dword [esi + 4]
mov dword [esp + 0x8c], edi
push dword [esp + 0x38]
push ebp
call fcn.0048d400
mov ecx, dword [ebx + 0x18]
add esp, 0x20
mov eax, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x70], ecx
cmp dword [ecx + 0x54], eax
jg 0x44b1f5
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x44b18d
add eax, eax
jmp 0x44b192
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [ecx]
call fcn.0047f4e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44b225
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
test eax, eax
je 0x44b1d1
cmp esi, dword [eax + 0x114]
jb 0x44b1d1
cmp esi, dword [eax + 0x118]
jae 0x44b1d1
movzx ecx, word [eax + 0xf8]
jmp 0x44b1dd
push esi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x48]
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x6f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x44b237
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x10
cmp dword [esp + 0x24], 0
je 0x44b25e
mov edx, dword [ebx + 0x18]
or esi, 0xffffffff
sub esi, dword [esp + 0x44]
js 0x44b257
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x44b257
mov eax, dword [ebx + 0x20]
mov dword [ecx + esi*4], eax
mov eax, dword [ebx + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x40]
test byte [eax + 0x28], 4
je 0x44b354
push dword [eax + 0x20]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x7c]
push dword [eax + 4]
push esi
push ebx
call fcn.004b4970
mov ecx, dword [ebx + 0x18]
add esp, 0x10
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], ecx
cmp dword [ecx + 0x54], eax
jg 0x44b313
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x44b2a8
add eax, eax
jmp 0x44b2ad
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [ecx]
call fcn.0047f4e0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x44b343
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
test eax, eax
je 0x44b2ec
cmp edi, dword [eax + 0x114]
jb 0x44b2ec
cmp edi, dword [eax + 0x118]
jae 0x44b2ec
movzx ecx, word [eax + 0xf8]
jmp 0x44b2f8
push edi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x78]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x84]
mov dword [ebx + 4], edi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x74]
and dword [eax + 0x28], 0xfffffffb
jmp 0x44b431
mov eax, dword [esp + 0x84]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x70], eax
cmp dword [ecx + 0x54], eax
jg 0x44b3f5
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x44b383
add eax, eax
jmp 0x44b388
mov eax, 0x33
lea eax, [eax + eax*4]
push 0
shl eax, 2
push eax
push dword [ebx + 4]
push dword [ecx]
call fcn.0047f4e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44b42d
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
test eax, eax
je 0x44b3ce
cmp esi, dword [eax + 0x114]
jb 0x44b3ce
cmp esi, dword [eax + 0x118]
jae 0x44b3ce
movzx ecx, word [eax + 0xf8]
jmp 0x44b3da
push esi
call dword [0x4e2598]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x84]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x70]
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x78]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x74]
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], eax
lea eax, [esi + 1]
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
jmp 0x44b431
mov esi, dword [esp + 0x78]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x44b443
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 3
mov edx, dword [ebx + 0x20]
cmp edx, esi
jbe 0x44b454
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
test edi, edi
je 0x44b48e
mov dl, byte [ebp + 0x13]
cmp dl, 8
jae 0x44b48e
xor ecx, ecx
lea eax, [ebp + 0x74]
nop
cmp dword [eax + 0xc], edi
je 0x44b48a
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x44b470
movzx eax, dl
mov dword [ebp + eax*4 + 0x18], edi
inc byte [ebp + 0x13]
jmp 0x44b48e
mov byte [eax + 6], 1
dec dword [ebp + 0x64]
lea ecx, [ebp + 0x80]
mov esi, 0xa
lea esp, [esp]
mov edx, dword [ecx]
test edx, edx
je 0x44b4cf
mov eax, dword [ecx - 4]
cmp eax, dword [ebp + 0x64]
jle 0x44b4cf
cmp byte [ecx - 6], 0
je 0x44b4c9
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x44b4c5
movzx eax, al
mov dword [ebp + eax*4 + 0x18], edx
inc byte [ebp + 0x13]
mov byte [ecx - 6], 0
mov dword [ecx], 0
add ecx, 0x14
dec esi
jne 0x44b4a0
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x4c]
cmp edx, eax
jbe 0x44b4ea
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov ebx, dword [esp + 0x24]
mov esi, dword [ebp]
test ebx, ebx
je 0x44b6ac
test dword [ebx + 4], 0x4000
jne 0x44b5f6
push dword [ebx + 0xc]
push esi
call fcn.00483ce0
push dword [ebx + 0x10]
push esi
call fcn.00483ce0
add esp, 0x10
test dword [ebx + 4], 0x10000
je 0x44b5d1
mov edi, dword [ebx + 8]
test edi, edi
je 0x44b5d1
test esi, esi
je 0x44b57c
cmp dword [esi + 0x208], 0
je 0x44b556
push edi
push esi
call fcn.00467960
add esp, 8
jmp 0x44b5d1
cmp edi, dword [esi + 0x114]
jb 0x44b57c
cmp edi, dword [esi + 0x118]
jae 0x44b57c
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
jmp 0x44b5d1
cmp dword [0x4e2568], 0
je 0x44b5c7
mov eax, dword [0x4e4db0]
test eax, eax
je 0x44b598
push eax
call dword [0x4e25bc]
add esp, 4
push edi
call dword [0x4e2598]
sub dword [0x4e4c08], eax
dec dword [0x4e4c2c]
push edi
call dword [0x4e2590]
mov eax, dword [0x4e4db0]
add esp, 8
test eax, eax
je 0x44b5d1
push eax
call dword [0x4e25c4]
jmp 0x44b5ce
push edi
call dword [0x4e2590]
add esp, 4
test dword [ebx + 4], 0x800
je 0x44b5ea
push 1
push dword [ebx + 0x14]
push esi
call fcn.004485b0
add esp, 0xc
jmp 0x44b5f6
push dword [ebx + 0x14]
push esi
call fcn.00484860
add esp, 8
test dword [ebx + 4], 0x8000
jne 0x44b6ac
test esi, esi
je 0x44b64e
cmp dword [esi + 0x208], 0
je 0x44b622
push ebx
push esi
call fcn.00467960
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
cmp ebx, dword [esi + 0x114]
jb 0x44b64e
cmp ebx, dword [esi + 0x118]
jae 0x44b64e
mov eax, dword [esi + 0x110]
mov dword [ebx], eax
dec dword [esi + 0xfc]
pop edi
mov dword [esi + 0x110], ebx
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
cmp dword [0x4e2568], 0
je 0x44b6a2
mov eax, dword [0x4e4db0]
test eax, eax
je 0x44b66a
push eax
call dword [0x4e25bc]
add esp, 4
push ebx
call dword [0x4e2598]
sub dword [0x4e4c08], eax
dec dword [0x4e4c2c]
push ebx
call dword [0x4e2590]
mov eax, dword [0x4e4db0]
add esp, 8
test eax, eax
je 0x44b6ac
push eax
call dword [0x4e25c4]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
push ebx
call dword [0x4e2590]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret