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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb0]
add eax, edx
push ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
push esi
mov esi, dword [esp + 0xb4]
mov ebp, dword [esi + 0x7370]
push edi
mov edi, dword [esi + 0x72b0]
add eax, ebx
mov dword [esp + 0x70], edi
mov edi, dword [esi + 0x72b4]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x7380]
add eax, ebp
mov dword [esp + 0x88], edi
mov edi, dword [esi + 0x72b8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], edi
test ecx, ecx
je 0x45007d
mov edi, dword [esp + 0x10]
mov dword [esi + 0x7304], 1
mov ecx, dword [esi + 0x682c]
mov eax, dword [esi + 0x6830]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x6834]
mov dword [esp + 0x58], ecx
sub edi, edx
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], eax
call fcn.00451bd0
cmp eax, 0xffffff88
jbe 0x44f971
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x28]
mov edi, dword [esi]
mov edx, dword [edi + 4]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6bbec0]
mov dword [esp + 0x38], eax
call fcn.004428b0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add edi, 8
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 8]
mov edx, dword [edi + 4]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6bbec0]
mov dword [esp + 0x40], eax
call fcn.004428b0
mov eax, dword [esp + 0x28]
mov esi, dword [esi + 4]
mov edx, dword [esi + 4]
add edi, 8
mov dword [esp + 0x44], edi
lea edi, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], edi
and eax, dword [edx*4 + 0x6bbec0]
mov dword [esp + 0x48], eax
call fcn.004428b0
lea eax, [esi + 8]
mov dword [esp + 0x4c], eax
jmp 0x44fa20
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*8 + 4]
mov ebp, dword [eax + ecx*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
mov dword [esp + 0xac], eax
mov ecx, esi
mov ebx, ebp
shr ecx, 0x10
shr eax, 0x10
shr ebx, 0x10
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], ebp
mov byte [esp + 0x1b], cl
cmp al, 1
jbe 0x44fb34
cmp dword [esp + 0xc4], 0
je 0x44faf6
cmp al, 0x19
jb 0x44faf6
mov edi, dword [esp + 0x28]
mov ecx, 0x20
movzx eax, al
sub ecx, edi
cmp eax, ecx
jae 0x44faa1
mov ecx, eax
mov ebp, dword [esp + 0x24]
mov esi, eax
sub esi, ecx
mov ecx, edi
and ecx, 0x1f
shl ebp, cl
sub eax, esi
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
mov ecx, esi
add edi, eax
mov dword [esp + 0x28], edi
shl ebp, cl
lea ecx, [esp + 0x24]
add ebp, edx
call fcn.004428b0
test esi, esi
je 0x44fb22
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, esi
mov dword [esp + 0x28], edx
add ebp, eax
jmp 0x44fb22
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
movzx eax, al
mov ecx, esi
and ecx, 0x1f
shl ebp, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
add esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
add ebp, edx
call fcn.004428b0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
jmp 0x44fba0
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov esi, ecx
test al, al
jne 0x44fb5b
test esi, esi
jne 0x44fb4d
mov ebp, dword [esp + 0x50]
jmp 0x44fba4
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x54], edx
jmp 0x44fba0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edi
and ecx, 0x1f
shl eax, cl
inc edi
mov dword [esp + 0x28], edi
shr eax, 0x1f
add eax, esi
mov esi, dword [esp + 0x50]
add eax, edx
lea ebp, [esi - 1]
cmp eax, 3
je 0x44fb86
mov ebp, dword [esp + eax*4 + 0x50]
xor ecx, ecx
test ebp, ebp
sete cl
add ebp, ecx
cmp eax, 1
je 0x44fb9c
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0x84]
test bl, bl
jbe 0x44fbd5
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
movzx edx, bl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
mov ecx, edi
mov dword [esp + 0x28], esi
lea edi, [eax + ecx]
movzx eax, byte [esp + 0x1b]
movzx edx, bl
add edx, eax
cmp edx, 0x14
mov dword [esp + 0x10], eax
jl 0x44fbf1
lea ecx, [esp + 0x24]
call fcn.004428b0
cmp byte [esp + 0x1b], 0
mov edx, dword [esp + 0x78]
mov esi, edx
jbe 0x44fc22
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, ebx
and ecx, 0x1f
shl esi, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr esi, cl
add ebx, eax
mov dword [esp + 0x28], ebx
add esi, edx
lea ecx, [esp + 0x24]
call fcn.004428b0
movzx ebx, byte [esp + 0x77]
mov eax, dword [esp + 0x28]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
neg ecx
and ecx, 0x1f
mov edx, eax
shr edx, cl
movzx ecx, word [esp + 0x74]
and edx, dword [ebx*4 + 0x6bbec0]
add ecx, edx
movzx edx, byte [esp + 0x83]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6bbec0]
movzx edx, word [esp + 0x80]
add edx, eax
mov dword [esp + 0x48], edx
call fcn.004428b0
movzx edx, byte [esp + 0xaf]
mov eax, dword [esp + 0x28]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, word [esp + 0xac]
and eax, dword [edx*4 + 0x6bbec0]
mov edx, dword [esp + 0xa0]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ebx
lea ebx, [esi + eax]
lea ecx, [esi + edi]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
lea ecx, [esi + edx]
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ecx
cmp ecx, dword [esp + 0x6c]
ja 0x44ffc3
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, dword [esp + 0x20]
add edx, 0xffffffe0
cmp ecx, edx
ja 0x44ffc3
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ecx, dword [esp + 0x1c]
add edx, 0x20
cmp ecx, edx
jb 0x44ffc3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
cmp esi, 0x10
jbe 0x44fdff
mov edx, dword [esp + 0x14]
add esi, 0xfffffff0
add ecx, 0x10
mov dword [esp + 0x90], esi
add esi, ecx
add edx, 0x10
cmp dword [esp + 0x90], 0x10
mov dword [esp + 0x14], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
jle 0x44fdff
add ecx, 0x10
add edx, 0x10
lea esp, [esp]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add edx, 0x10
cmp ecx, dword [esp + 0x14]
jb 0x44fdc0
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0xa8]
mov edx, ebx
sub edx, esi
mov dword [esp + 0x14], ecx
cmp ebp, edx
jbe 0x44fe67
mov ecx, ebx
sub ecx, dword [esp + 0x88]
cmp ebp, ecx
jbe 0x44fe2d
mov esi, 0xffffffec
jmp 0x450008
mov ebp, dword [esp + 0x7c]
mov edx, ebp
sub edx, esi
add eax, edx
lea ecx, [eax + edi]
cmp ecx, ebp
ja 0x44fe52
push edi
push eax
push ebx
call fcn.005e9040
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x450008
sub ebp, eax
push ebp
push eax
push ebx
call fcn.005e9040
add esp, 0xc
add ebx, ebp
sub edi, ebp
mov eax, esi
jmp 0x44fe6e
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
cmp esi, 0x10
jb 0x44fee6
cmp edi, 0x10
mov ecx, dword [eax]
mov dword [ebx], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
lea edx, [edi + ebx]
mov dword [ebx + 0xc], ecx
jle 0x44fedd
lea ecx, [ebx + 0x10]
add eax, 0x10
mov edi, edi
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x44fea0
mov esi, dword [esp + 0x10]
jmp 0x450008
cmp esi, 8
jae 0x44ff19
movzx edx, byte [eax]
mov ebp, dword [esi*4 + 0x6bc960]
mov byte [ebx], dl
movzx ecx, byte [eax + 1]
mov byte [ebx + 1], cl
movzx edx, byte [eax + 2]
mov byte [ebx + 2], dl
movzx ecx, byte [eax + 3]
mov byte [ebx + 3], cl
add eax, dword [esi*4 + 0x6bc940]
mov edx, dword [eax]
sub eax, ebp
jmp 0x44ff20
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
cmp edi, 8
jbe 0x44ffbd
lea ecx, [eax + 8]
lea edx, [edi - 8]
lea eax, [ebx + 8]
mov edi, eax
sub edi, ecx
cmp edi, 0x10
lea esi, [eax + edx]
jge 0x44ff5f
sub ecx, eax
mov edx, dword [eax + ecx]
mov dword [eax], edx
mov edx, dword [eax + ecx + 4]
mov dword [eax + 4], edx
add eax, 8
cmp eax, esi
jb 0x44ff43
mov esi, dword [esp + 0x10]
jmp 0x450008
cmp edx, 0x10
mov edi, dword [ecx]
mov dword [eax], edi
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov edi, dword [ecx + 8]
mov dword [eax + 8], edi
mov edi, dword [ecx + 0xc]
mov dword [eax + 0xc], edi
jle 0x44ffbd
add eax, 0x10
add ecx, 0x10
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
add eax, 0x10
add ecx, 0x10
cmp eax, esi
jb 0x44ff80
mov esi, dword [esp + 0x10]
jmp 0x450008
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
mov edx, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x34]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x40]
call fcn.0044f7b0
add esp, 0x24
mov esi, eax
lea ecx, [esp + 0x24]
call fcn.004428b0
add dword [esp + 0x1c], esi
cmp esi, 0xffffff88
ja 0x45002d
sub dword [esp + 0x8c], 1
je 0x45003a
mov eax, dword [esp + 0x4c]
jmp 0x44fa20
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
lea ecx, [esp + 0x24]
call fcn.004428b0
cmp eax, 2
jl 0x44f961
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x682c], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x6830], edx
mov dword [eax + 0x6834], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
sub eax, ebp
mov esi, eax
sub ecx, ebx
cmp esi, ecx
jbe 0x45009b
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
test ebx, ebx
je 0x4500ac
push esi
push ebp
push ebx
call fcn.005e3b10
add esp, 0xc
add ebx, esi
sub ebx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xa4
ret