Function at 0x44444d
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
push ebx
push ebp
mov ebp, dword [esp + 0x24]
mov ebx, eax
push esi
push edi
mov edi, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], 0x2710
test edi, edi
js 0x44447e
add eax, edi
cmp ebx, eax
jae 0x4448a3
cmp byte [ebx], 0
je 0x4448a3
push ebx
call fcn.0044b8f4
mov ebx, eax
pop ecx
cmp ebx, 0x323ff
ja 0x4444c8
shr eax, 8
movzx eax, word [eax*2 + 0x5179b0]
mov edx, 0x2710
movsx ecx, ax
cmp ax, dx
jl 0x4444b8
lea edi, [ecx - 0x2710]
jmp 0x4444e5
shl ecx, 8
movzx eax, bl
movsx edi, byte [ecx + eax + 0x50e2b0]
jmp 0x4444e5
lea eax, [ebx - 0xe0000]
cmp eax, 0x2ffff
ja 0x4444e2
shr eax, 8
movzx eax, word [eax*2 + 0x517ff8]
jmp 0x4444a3
push 2
pop edi
mov eax, dword [esp + 0x10]
mov edx, eax
mov ecx, dword [0x52a570]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edx
movzx eax, byte [eax]
movsx eax, byte [eax + ecx]
add dword [esp + 0x10], eax
cmp dword [esp + 0x30], 1
jne 0x44459e
cmp ebx, 0x49
je 0x444528
cmp ebx, 0x130
je 0x44457e
cmp ebx, 0xff29
jne 0x444640
push dword [esp + 0x10]
call fcn.0044b8f4
pop ecx
cmp eax, 0x307
jne 0x44457e
xor edi, edi
inc edi
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x69
call fcn.0044b652
mov ebx, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x2c]
test edi, edi
mov edi, dword [esp + 0x30]
pop ecx
pop ecx
je 0x444470
movzx ecx, byte [ebx]
mov eax, dword [0x52a570]
movsx eax, byte [ecx + eax]
add ebx, eax
mov dword [esp + 0x10], ebx
jmp 0x44489a
xor edi, edi
cmp ebx, 0x130
je 0x44453c
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x131
jmp 0x44486c
cmp dword [esp + 0x30], 2
jne 0x444640
cmp ebx, 0xcc
je 0x4446a8
cmp ebx, 0xcd
je 0x4446a8
cmp ebx, 0x128
je 0x4446a8
cmp ebx, 0x49
je 0x4445ef
cmp ebx, 0xff29
je 0x4445ef
cmp ebx, 0x4a
je 0x4445ef
cmp ebx, 0xff2a
je 0x4445ef
cmp ebx, 0x12e
jne 0x444640
push dword [esp + 0x10]
call fcn.004442f8
pop ecx
test eax, eax
je 0x444636
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push ebx
call fcn.00443efc
pop ecx
push eax
call fcn.0044b652
add esi, eax
mov ecx, ebp
neg ecx
sbb ecx, ecx
lea eax, [esi + ebp]
and ecx, eax
push ecx
push 0x307
call fcn.0044b652
add esp, 0x10
jmp 0x444873
mov ecx, dword [0x52a570]
mov edx, dword [esp + 0x1c]
cmp ebx, 0x3a3
jne 0x4447a7
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
test edi, edi
js 0x444666
mov eax, dword [esp + 0x24]
add eax, edi
cmp ebx, eax
jae 0x444787
cmp byte [ebx], 0
je 0x444787
push ebx
call fcn.0044b8f4
pop ecx
mov ecx, eax
cmp ecx, 0x323ff
ja 0x444745
shr eax, 8
movzx eax, word [eax*2 + 0x5179b0]
movsx edx, ax
cmp ax, word [esp + 0x18]
jl 0x444762
lea eax, [edx - 0x2710]
jmp 0x444775
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x69
call fcn.0044b652
add esi, eax
mov ecx, ebp
neg ecx
sbb ecx, ecx
lea eax, [esi + ebp]
and ecx, eax
push ecx
push 0x307
call fcn.0044b652
add esp, 0x10
add esi, eax
sub ebx, 0xcc
je 0x44472f
sub ebx, 1
je 0x444719
mov edi, dword [esp + 0x28]
sub ebx, 0x5b
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
jne 0x444470
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x303
call fcn.0044b652
pop ecx
pop ecx
add esi, eax
jmp 0x444896
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x301
jmp 0x44486c
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x300
jmp 0x44486c
lea eax, [ecx - 0xe0000]
cmp eax, 0x2ffff
ja 0x444772
shr eax, 8
movzx eax, word [eax*2 + 0x517ff8]
jmp 0x44468f
shl edx, 8
movzx eax, cl
movsx eax, byte [edx + eax + 0x50e2b0]
jmp 0x444775
push 2
pop eax
push 4
add eax, 0xfffffffb
pop ecx
cmp ecx, eax
sbb edx, edx
add edx, 0x3c3
jmp 0x44478c
mov edx, 0x3c2
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push edx
call fcn.0044b652
pop ecx
pop ecx
add esi, eax
jmp 0x44489a
lea eax, [edi - 8]
cmp eax, 1
ja 0x444877
mov eax, ebx
shr eax, 8
lea ecx, [eax + eax]
cmp eax, 0x323
ja 0x4447cb
movzx edi, word [ecx + 0x5279f8]
jmp 0x4447d3
movzx edi, word [eax*2 + 0x526440]
cmp di, word [esp + 0x18]
jne 0x4447fc
xor edx, edx
cmp dword [esp + 0x14], 8
jne 0x44485a
xor ecx, ecx
xor eax, eax
cmp dword [eax + 0x528640], ebx
je 0x444851
add eax, 0xc
inc ecx
cmp eax, 0x174
jb 0x4447e7
jmp 0x44485a
cmp eax, 0x323
ja 0x44480c
movzx eax, word [ecx + 0x5279f8]
jmp 0x444814
movzx eax, word [eax*2 + 0x526440]
movsx ecx, ax
shl ecx, 8
movzx eax, bl
add ecx, eax
mov edx, dword [ecx*4 + 0x5185f8]
cmp edx, 0x1000000
jb 0x4447dc
push 0
push dword [esp + 0x18]
lea eax, [edx - 0x1000000]
mov ecx, ebp
neg ecx
push eax
lea eax, [esi + ebp]
sbb ecx, ecx
and ecx, eax
push ecx
call fcn.004443f9
jmp 0x44462e
imul eax, ecx, 0xc
mov edx, dword [eax + 0x528648]
mov ecx, ebp
lea eax, [esi + ebp]
neg ecx
sbb ecx, ecx
and ecx, eax
test edx, edx
push ecx
cmovne ebx, edx
push ebx
call fcn.0044b652
pop ecx
pop ecx
add esi, eax
jmp 0x444892
movzx eax, byte [edx]
movsx edi, byte [eax + ecx]
test ebp, ebp
je 0x444890
push edi
push edx
lea eax, [esi + ebp]
push eax
call fcn.004b8970
add esp, 0xc
add esi, edi
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
jmp 0x444470
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret