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

Disassembly:
mov eax, dword [0x5b3a5c]
sub esp, 0x54
push ebx
push ebp
mov ebp, dword [esp + 0x60]
push esi
xor esi, esi
push edi
cmp eax, esi
mov edi, ecx
je 0x44b8a5
movsx ecx, byte [ebp + 0xc]
push ecx
mov ecx, dword [eax + 8]
call fcn.004898f0
mov ecx, dword [edi + 0x48]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov ecx, dword [edi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edx, dword [0x586bb4]
mov ecx, dword [ebp + 0x5c]
mov dword [edx + 0x910], ecx
movsx ax, byte [ebp + 0x60]
mov word [edi + 0x60], ax
movsx cx, byte [ebp + 0x61]
mov word [edi + 0x62], cx
mov ecx, edi
movsx dx, byte [ebp + 0x62]
mov word [edi + 0x64], dx
mov word [edi + 0x66], si
call fcn.0044d400
mov dword [esp + 0x10], esi
lea ebx, [ebp + 0x68]
mov esi, 0x34
add ebp, 0x78
movsx ax, byte [ebx - 5]
mov ecx, dword [edi + esi]
mov word [ecx + 0xcc], ax
mov eax, dword [edi + esi]
movsx dx, byte [ebx]
mov word [eax + 0xd6], dx
mov ecx, dword [edi + esi]
mov dx, word [ebp - 0xa]
mov word [ecx + 0xd8], dx
mov eax, dword [edi + esi]
mov cx, word [ebp]
mov word [eax + 0xd0], cx
mov edx, dword [edi + esi]
mov ax, word [ebp + 0xa]
mov word [edx + 0xd2], ax
mov ecx, dword [edi + esi]
movsx eax, word [ecx + 0xd8]
mov edx, dword [ecx]
push eax
call dword [edx + 0x54]
mov ecx, dword [0x586bb8]
mov edx, dword [ecx + esi]
mov ecx, dword [edi + esi]
movsx eax, word [edx + 0xcc]
dec eax
push eax
call fcn.004b5e40
mov ecx, dword [edi + esi]
movsx eax, word [ecx + 0xd2]
mov edx, dword [ecx]
push eax
movsx eax, word [ecx + 0xd0]
push eax
call dword [edx + 0x28]
mov ecx, dword [edi + esi]
cmp word [edi + 0x64], 1
mov edx, dword [ecx]
jle 0x44b9b5
call dword [edx + 0x18]
mov eax, dword [edi + esi]
cmp word [eax + 0xd6], 1
jne 0x44b9b8
mov word [eax + 0xd6], 0
mov eax, dword [esp + 0x10]
push eax
mov ecx, edi
call fcn.0044ca40
jmp 0x44b9b8
call dword [edx + 0x14]
mov eax, dword [esp + 0x10]
add ebp, 2
inc eax
add esi, 4
inc ebx
cmp ax, 5
mov dword [esp + 0x10], eax
jl 0x44b8f9
mov eax, dword [esp + 0x68]
xor esi, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
lea ecx, [eax + 0x8c]
lea edx, [eax + 0xa4]
add eax, 0x94
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
lea ebp, [edi + 8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [ebp]
mov eax, dword [esp + 0x18]
push 1
push eax
mov ecx, dword [ecx + 8]
call fcn.0047ef20
mov eax, dword [0x5b3a5c]
test eax, eax
je 0x44ba36
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x20]
mov cl, byte [edx + eax + 0x14]
lea eax, [edx + eax + 0x14]
test cl, cl
je 0x44ba36
mov ebx, eax
jmp 0x44ba38
xor ebx, ebx
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0xff
jne 0x44ba46
or eax, 0xffffffff
jmp 0x44ba56
mov edx, dword [ebp]
mov ecx, dword [edx + 8]
call fcn.0047e230
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp]
push ebx
push eax
push esi
call fcn.0044d770
mov eax, dword [ebp]
cmp word [eax + 0x56], 0xffff
je 0x44bb71
mov ecx, dword [esp + 0x1c]
mov ebx, 0x24
mov esi, 0x58
mov dword [esp + 0x2c], 0xc
mov edx, dword [ecx]
mov dword [eax + 0x70], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp]
movsx dx, byte [ecx]
mov word [eax + esi], dx
mov ecx, dword [ebp]
mov ax, word [ecx + esi]
cmp ax, 0xffff
je 0x44bad3
movsx ecx, ax
push ecx
lea edx, [esp + 0x54]
push 0x55d05c
push edx
call fcn.005308a0
mov eax, dword [ebp]
add esp, 0xc
mov ecx, dword [eax + ebx]
lea eax, [esp + 0x50]
push eax
mov edx, dword [ecx]
jmp 0x44badd
mov ecx, dword [ecx + ebx]
push 0x586b28
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add esi, 2
add ebx, 4
inc ecx
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
jne 0x44ba92
mov eax, dword [ebp]
xor ebx, ebx
mov dword [esp + 0x2c], eax
add eax, 0x58
mov edx, 0xc
mov cx, word [eax]
cmp cx, 0xffff
je 0x44bb16
add ebx, ecx
add eax, 2
dec edx
jne 0x44bb0b
movsx esi, bx
push esi
lea eax, [esp + 0x44]
push 0x55d05c
push eax
call fcn.005308a0
add esp, 0xc
lea ecx, [esp + 0x30]
push esi
push str.Score:__hd
push ecx
call fcn.005308a0
mov esi, dword [esp + 0x38]
add esp, 0xc
lea eax, [esp + 0x30]
mov ecx, dword [esi + 0x10]
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
test bx, bx
lea eax, [esp + 0x40]
jne 0x44bb64
mov eax, 0x586b28
mov ecx, dword [esi + 0x14]
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
inc esi
inc edx
add ecx, 4
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x28]
add ebp, 4
add ebx, 0x40
inc edx
add ecx, 0xc
cmp si, 4
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
jl 0x44ba04
mov esi, 0xc
xor eax, eax
cmp word [edi + 0x60], si
mov ecx, edi
setg al
push eax
call fcn.0044d2a0
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 0x10]
mov cl, byte [ecx + 0x10]
test cl, cl
je 0x44bbec
push eax
mov ecx, edi
call fcn.0044bf70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4
cmp word [edi + 0x60], si
jle 0x44bc15
mov eax, dword [0x586bb4]
mov ecx, dword [eax + 0x910]
dec ecx
mov dword [eax + 0x910], ecx
mov ecx, edi
call fcn.0044b390
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4
mov ax, word [edi + 0x64]
cmp ax, 1
jne 0x44bc34
push 0xa
push 2
mov ecx, edi
call fcn.0044c6c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4
movsx eax, ax
dec eax
je 0x44bca8
dec eax
je 0x44bc8b
dec eax
je 0x44bc6e
mov ax, word [edi + 0x62]
test ax, ax
je 0x44bc53
cmp ax, 3
je 0x44bc53
xor eax, eax
jmp 0x44bc58
mov eax, 1
mov ecx, dword [edi + 0x1c]
neg eax
mov edx, dword [ecx]
sbb eax, eax
and al, 0x9b
add eax, 0x94e
push eax
call dword [edx + 0x54]
jmp 0x44bcc7
mov edx, dword [0x5a32d8]
mov ecx, dword [edi + 0x1c]
neg edx
mov eax, dword [ecx]
sbb edx, edx
and edx, 0xbac3
add edx, 0x88f
jmp 0x44bcc3
mov edx, dword [0x5a32d8]
mov ecx, dword [edi + 0x1c]
neg edx
mov eax, dword [ecx]
sbb edx, edx
and edx, 0xbac3
add edx, 0x88e
jmp 0x44bcc3
mov edx, dword [0x5a32d8]
mov ecx, dword [edi + 0x1c]
neg edx
mov eax, dword [ecx]
sbb edx, edx
and edx, 0xbac3
add edx, 0x88d
push edx
call dword [eax + 0x54]
push 0xa
push 3
mov ecx, edi
call fcn.0044c6c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4