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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2e8]
cmp eax, dword [ecx + 8]
jbe 0x5b47cf
sub esp, 0x368
lea edi, [esp + 0x300]
xor eax, eax
call fcn.00462799
lea edi, [esp + 0x31c]
call fcn.0046278d
lea ecx, [esp + 0x31c]
mov dword [esp + 0x30c], ecx
call fcn.0044edf0
mov ecx, dword [esp]
mov dword [esp + 0x308], ecx
lea edi, [esp + 0x2e4]
xor eax, eax
call fcn.00462799
lea edi, [esp + 0x84]
call fcn.0046278b
lea ecx, [esp + 0x84]
mov dword [esp + 0x2f0], ecx
call fcn.0044edf0
mov ecx, dword [esp]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x370]
test ecx, ecx
je 0x5b3ca1
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x36c]
mov eax, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x40], eax
mov ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov eax, 0xffffffff
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [0x81da90]
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x370]
mov ecx, eax
jmp 0x5b3d33
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
lea esi, [ebx + ebx*2]
mov dword [eax + esi*4 - 0xc], edx
mov dword [eax + esi*4 - 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + esi*4 - 4], ecx
add ecx, 8
mov edx, dword [esp + 0x374]
mov esi, dword [esp + 0x36c]
mov edi, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x36c]
mov ebp, dword [esp + 0x30]
add edx, eax
cmp ecx, edx
jae 0x5b41ae
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], ecx
cmp esi, 0xf
setae dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta cl
and ebp, edx
or ecx, ebp
test cl, cl
je 0x5b3da8
mov ecx, dword [0x7f3068]
mov dword [esp + 0x2d0], ecx
mov edx, dword [0x7f306c]
mov dword [esp + 0x5c], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x50], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
jmp 0x5b4679
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [esp + 0x3c]
sbb edi, edx
cmp ecx, 0x8000000
seta cl
test edi, edi
mov edi, edx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b3e1a
mov ecx, dword [0x7f3060]
mov dword [esp + 0x2cc], ecx
mov edx, dword [0x7f3064]
mov dword [esp + 0x58], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x4c], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
jmp 0x5b450c
movzx ecx, byte [esp + 0x378]
test cl, cl
je 0x5b3e90
lea edi, [esp + 0x1c8]
xor eax, eax
call fcn.00462764
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
lea ebp, [0x62aa00]
cmp ecx, ebp
jne 0x5b44df
lea edi, [esp + 0x1c8]
mov esi, edx
call fcn.00462a58
lea edi, [esp + 0xd8]
lea esi, [esp + 0x1c8]
call fcn.00462a58
mov eax, dword [esp + 0xf0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.005b1960
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x5b3ead
jmp 0x5b4227
mov dword [esp], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.005b1960
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x5b4320
mov dword [esp + 0x34], eax
lea ecx, [0x607740]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x36c]
mov dword [esp], ecx
lea edx, [0x5f1c80]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 8
call fcn.005b2650
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5b42e2
mov ecx, dword [esp + 0x2d8]
mov edx, dword [ecx + 4]
test edx, edx
sete bl
mov ebp, dword [ecx]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5b41e6
mov esi, dword [esp + 0x370]
cmp esi, ebp
mov eax, esi
xchg esi, ebx
setbe bl
xchg esi, ebx
test edx, edx
mov edi, ecx
seta cl
and esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5b3f66
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5b3f6a
jmp 0x5b4265
mov ecx, dword [esp + 0x20]
mov ebx, edx
and edx, 0x80000000
test edx, edx
jbe 0x5b3fd8
and ebp, 0x7fffffff
cmp ebp, 0xffff
seta dl
and edx, 1
test dl, dl
je 0x5b435e
mov edx, dword [0x7f3038]
mov dword [esp + 0x2c8], edx
mov ebx, dword [0x7f303c]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x36c]
mov esi, dword [ebp + 0x274]
mov dword [esp + 0x48], esi
mov ecx, dword [ebp + 0x270]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
jmp 0x5b439e
lea eax, [0x601d20]
mov dword [esp], eax
lea ecx, [esp + 0x2e4]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
call fcn.0040f080
movzx eax, byte [esp + 0x14]
test al, al
je 0x5b4012
mov esi, dword [esp + 0x2c]
add esi, 1
mov ebp, dword [esp + 0x30]
adc ebp, 0
jmp 0x5b404e
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x601d20]
mov dword [esp], ebx
lea ebp, [esp + 0x2e4]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.0040f1f0
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x44]
cmp edx, ecx
setb bl
mov edi, dword [eax]
mov eax, dword [esp + 0x40]
cmp eax, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5b4091
mov eax, ecx
mov edx, edi
jmp 0x5b409d
mov eax, ecx
mov edx, edi
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
cmp esi, edx
seta cl
cmp ebx, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and ecx, edi
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5b40d2
mov eax, ebx
mov edx, esi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebx
lea edi, [0x601be0]
mov dword [esp], edi
lea edi, [esp + 0x300]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
call fcn.0040e690
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x81dcc0]
test eax, eax
jne 0x5b4136
mov ecx, dword [esp + 0x2d8]
mov dword [edi], ecx
jmp 0x5b4144
mov eax, dword [esp + 0x2d8]
call fcn.00462500
mov ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
inc ebx
mov ebp, dword [esp + 0x28]
cmp ebp, ebx
jb 0x5b4162
mov eax, dword [esp + 0x2b8]
jmp 0x5b3cdf
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x2b8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x60d000]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov ebp, ecx
mov ecx, dword [esp + 0x64]
jmp 0x5b3cdf
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x648611]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.004f0530
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp], ecx
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x5ff980]
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x36c]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x649f8b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x2dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.004f0530
jmp 0x5b41e6
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jmp 0x5b40e2
lea ecx, [ebp + 1]
mov edx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x36c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2bc]
mov ebp, dword [esp + 0x60]
cmp ebp, esi
jge 0x5b4406
lea edx, [ecx + ebp*8]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp ecx, ebx
jne 0x5b437b
mov dword [esp], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b43ee
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x2d8]
jmp 0x5b437b
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov edi, dword [esp + 0x2d8]
jl 0x5b44d6
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5b449b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ff840]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b4477
mov dword [ebx + 0x270], eax
jmp 0x5b4482
lea edi, [ebx + 0x270]
call fcn.00462500
mov edi, dword [esp + 0x2d8]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x7f3038]
lea esi, [ebx + edx*8 - 4]
mov ecx, dword [0x7f303c]
mov dword [esi], ecx
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b44c5
mov dword [ecx], ebp
jmp 0x5b44d6
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.00462500
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x20]
jmp 0x5b435e
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5ff280]
mov dword [esp + 8], eax
call fcn.00409250
inc ecx
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5b4572
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5b44f5
mov dword [esp], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b4559
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jmp 0x5b44f5
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jl 0x5b4656
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5b4608
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ff840]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b45e3
mov dword [ebx + 0x270], eax
jmp 0x5b45ee
lea edi, [ebx + 0x270]
call fcn.00462500
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x7f3060]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0x7f3064]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b4640
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x5b4656
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00462500
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x5b3e1a
inc ecx
mov ebx, dword [esp + 0x2c4]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5b46df
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5b4662
mov dword [esp], ebx
mov eax, dword [esp + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b46c6
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jmp 0x5b4662
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jl 0x5b47c3
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5b4775
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ff840]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b4750
mov dword [ebx + 0x270], eax
jmp 0x5b475b
lea edi, [ebx + 0x270]
call fcn.00462500
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x7f3068]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0x7f306c]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5b47ad
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x5b47c3
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00462500
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x5b3da8
call fcn.004610f0
jmp fcn.005b3bb0