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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5bb711
sub esp, 0xb8
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x5bab91
nop
movzx edx, byte [0x7a1de0]
test dl, dl
je 0x5bab45
mov edx, dword [esp + 0xc8]
mov dword [0x7a1de4], edx
mov ebx, dword [0x7c78f0]
test ebx, ebx
jne 0x5bab31
mov eax, dword [esp + 0xcc]
mov dword [0x7a1de8], eax
jmp 0x5bab53
lea edi, [0x7a1de8]
mov eax, dword [esp + 0xcc]
call fcn.00463730
jmp 0x5bab53
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x5bab87
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5bab83
or ebx, 0x80
mov ebp, eax
jmp 0x5baba5
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x5baba5
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
jne 0x5babdc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004bc180
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov esi, ebx
nop
mov ebx, esi
and esi, 0x1f
lea edi, [esi - 2]
nop
cmp edi, 4
ja 0x5babf2
mov edi, 2
jmp 0x5bac12
lea edi, [esi - 7]
cmp edi, 4
ja 0x5bac01
mov edi, 7
jmp 0x5bac12
lea edi, [esi - 0xd]
cmp edi, 1
ja 0x5bac10
mov edi, 0xd
jmp 0x5bac12
mov edi, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
test ebx, ebx
je 0x5bac46
test ebx, 0x200
jne 0x5bac46
mov dword [esp + 0x4c], eax
lea eax, [0x663100]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
jmp 0x5bac80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
cmp edi, 2
jne 0x5bae09
cmp esi, 3
ja 0x5bacaf
cmp esi, 2
jne 0x5bac9c
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5bacda
cmp esi, 3
jne 0x5bb6d6
movsx eax, byte [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5bacda
cmp esi, 4
jne 0x5bacbe
movsx eax, word [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5bacda
cmp esi, 5
jne 0x5baccc
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5bacda
cmp esi, 6
jne 0x5bb6d6
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jge 0x5badd7
mov edx, dword [esp + 0xbc]
mov edx, dword [edx]
movzx edx, byte [edx + 0xb]
test dl, dl
jne 0x5badd7
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.00409680
mov eax, dword [esp + 8]
lea ecx, [0x5e1fa0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.004095d0
mov eax, dword [esp + 8]
lea ecx, [0x5e1860]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, [0x6187e5]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004be480
jmp 0x5bb4a3
cmp edi, 7
jne 0x5bae96
cmp esi, 9
ja 0x5bae3e
cmp esi, 7
jne 0x5bae22
mov eax, dword [eax]
xor edx, edx
jmp 0x5bae64
cmp esi, 8
jne 0x5bae2e
movzx eax, byte [eax]
xor edx, edx
jmp 0x5bae64
cmp esi, 9
jne 0x5bb69c
movzx eax, word [eax]
xor edx, edx
jmp 0x5bae64
cmp esi, 0xa
jne 0x5bae49
mov eax, dword [eax]
xor edx, edx
jmp 0x5bae64
cmp esi, 0xb
jne 0x5bae57
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, ecx
jmp 0x5bae64
cmp esi, 0xc
jne 0x5bb69c
mov eax, dword [eax]
xor edx, edx
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
call fcn.004be480
jmp 0x5bb4a3
cmp edi, 0xd
jne 0x5bb00b
cmp esi, 0xd
jne 0x5baeae
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
jmp 0x5baebb
cmp esi, 0xe
jne 0x5bb662
movsd xmm0, qword [eax]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x5bafc7
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
movzx eax, byte [eax + 0xb]
test al, al
jne 0x5bafc7
movsd qword [esp + 0x44], xmm0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.00409680
mov eax, dword [esp + 8]
lea ecx, [0x5e1fa0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
movsd xmm0, qword [esp + 0x44]
movsd qword [esp + 0x54], xmm0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004095d0
mov eax, dword [esp + 8]
lea ecx, [0x5e0d20]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, [0x618809]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
movsd qword [esp], xmm0
call fcn.0045c5f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004be480
jmp 0x5bb4a3
cmp edi, 1
jne 0x5bb0d0
mov ebp, dword [esp + 0xbc]
mov edx, dword [ebp]
movzx edx, byte [edx + 0xb]
test dl, dl
je 0x5bb0c2
cmp esi, 1
je 0x5bb047
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004bb0d0
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax]
test al, al
je 0x5bb088
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call fcn.004be480
jmp 0x5bb4a3
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.004be480
jmp 0x5bb4a3
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
cmp edi, 0x18
jne 0x5bb2ca
mov edi, dword [esp + 0xbc]
mov edi, dword [edi]
movzx edi, byte [edi + 0xb]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5bb2ca
cmp esi, 0x18
jne 0x5bb0fc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5bb118
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004be910
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5bb127
mov eax, 1
lea ecx, [0x6604c4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0xd8]
test edx, edx
je 0x5bb151
test edx, 0x200
jne 0x5bb151
lea ebx, [0x663100]
mov ebp, dword [esp + 0xd0]
jmp 0x5bb17b
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov eax, dword [ebx + 0x18]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.004a46f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5bb298
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.00409680
mov eax, dword [esp + 8]
lea ecx, [0x5e1fa0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5bb236
mov ebx, dword [eax + 4]
jmp 0x5bb238
mov ebx, eax
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x94], eax
lea eax, [0x61589e]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004be480
jmp 0x5bb4a3
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x78]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp dword [esp + 8], 0xd
je 0x5bb2e9
xor eax, eax
jmp 0x5bb308
mov dword [esp], eax
lea eax, [0x60e0b1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.00402a50
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5bb310
xor ecx, ecx
jmp 0x5bb340
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp dword [esp + 8], 6
jne 0x5bb33e
cmp dword [eax], 0x626d754e
jne 0x5bb33e
cmp word [eax + 4], 0x7265
sete cl
jmp 0x5bb340
xor ecx, ecx
test cl, cl
je 0x5bb4c0
mov eax, dword [esp + 0xc8]
lea ecx, [0x5ee780]
cmp eax, ecx
jne 0x5bb64c
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x40
call fcn.004a46f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5bb476
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.00409680
mov eax, dword [esp + 8]
lea ecx, [0x5e1fa0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5bb414
mov ebx, dword [eax + 4]
jmp 0x5bb416
mov ebx, eax
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x94], eax
lea eax, [0x619363]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004be480
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xb8
ret
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x5bb4ea
test ecx, 0x200
jne 0x5bb4ea
mov ecx, dword [esp + 0x3c]
test ecx, ecx
mov edx, ecx
lea eax, [0x663100]
mov ecx, dword [esp + 0xd0]
jmp 0x5bb516
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
test edx, edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x28], eax
je 0x5bb534
test edx, 0x200
jne 0x5bb534
lea edx, [0x663100]
mov ebx, dword [esp + 0x68]
jmp 0x5bb558
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x24], edx
lea edi, [esp + 0x98]
xor eax, eax
call fcn.00463958
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
call fcn.00409680
mov ecx, dword [esp + 8]
lea edx, [0x5e1fa0]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x5bb5ad
mov eax, dword [ecx + 4]
jmp 0x5bb5af
mov eax, ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5bb5ce
mov edx, dword [eax + 4]
jmp 0x5bb5d0
mov edx, eax
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xb4], eax
lea eax, [0x61d570]
mov dword [esp], eax
mov dword [esp + 4], 0x41
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5e18e0]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [0x5ecce0]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x610a3b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
lea ecx, [0x5e5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435720
lea eax, [0x5ecce0]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x610156]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
lea ecx, [0x5e5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435720
lea eax, [0x5ecce0]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x60f9c6]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
lea ecx, [0x5e5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435720
nop
call fcn.00462320
jmp fcn.005baad0