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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5bf156
sub esp, 0x64
mov eax, 0
lea edi, [esp + 0x4c]
call fcn.0044b5ca
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
movzx edx, byte [edx + 0x44]
mov byte [eax + 0x50], 0
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx]
mov ecx, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
mov esi, eax
mov eax, dword [esp + 0x78]
cmp eax, edx
jae 0x5bf14f
mov byte [esp + 0x23], cl
lea edx, [eax + eax*2]
shl edx, 3
movzx edx, byte [ebp + edx]
cmp dl, 5
je 0x5bf0b9
mov edx, dword [ebx + 4]
inc edx
imul edx, eax
mov ebp, dword [esp + 0x7c]
add edx, ebp
mov dword [esp + 0x3c], edx
mov edi, ebp
mov ebp, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
shr edx, 5
cmp edx, ebp
jae 0x5bf148
mov ebp, dword [eax + edx*4]
mov ecx, dword [esp + 0x3c]
mov ebx, 1
shl ebx, cl
test ebp, ebx
je 0x5bf0aa
xor eax, eax
test al, al
je 0x5bf0a1
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x5bf044
lea edx, [ebx + 1]
mov dword [eax + 0x18], edx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x78]
mov dword [ecx + edx*4], ebx
lea ebx, [ecx + edx*4]
mov byte [ebx + 4], 0
mov dword [ecx + edx*4 + 8], edi
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
jmp 0x5be8c3
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x28]
movzx ebx, byte [esp + 0x22]
mov eax, edi
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x70]
mov edi, ecx
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x68]
mov edx, dword [eax]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov eax, dword [esp + 0x30]
cmp eax, edx
jae 0x5bf13a
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x22], bl
lea edx, [eax + eax*2]
lea ebp, [ebp + edx*8]
lea edi, [esp + 0x4c]
mov esi, ebp
call fcn.0044baa4
movzx ecx, byte [esp + 0x4c]
cmp cl, 4
ja 0x5beebf
shl edx, 3
cmp cl, 1
ja 0x5bec47
test cl, cl
jne 0x5be9e8
test bl, bl
je 0x5be924
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 4]
inc ebp
imul ebp, eax
add ebp, ecx
mov dword [esp + 0x3c], ebp
mov esi, eax
mov eax, dword [ebx + 0x20]
mov edi, ebx
mov ebx, dword [ebx + 0x24]
shr ebp, 5
cmp ebp, ebx
jae 0x5bf141
mov dword [esp + 0x28], ecx
mov byte [esp + 0x22], dl
mov ebx, dword [eax + ebp*4]
mov ecx, dword [esp + 0x3c]
mov edx, 1
shl edx, cl
test ebx, edx
je 0x5be918
xor eax, eax
test al, al
jne 0x5be7dd
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov eax, edi
mov ecx, ebx
mov edx, ebp
mov esi, dword [esp + 0x68]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
test ebx, ebx
jle 0x5bf035
mov edi, edx
lea edx, [ebx - 1]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x3c], ebx
mov ecx, dword [ebp + ebx*4 - 0xc]
mov dword [esp + 0x34], ecx
shl ebx, 2
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ebp + ecx*4 - 4]
movzx ebx, byte [ebx + ebp - 8]
mov dword [eax + 0x18], edx
lea edx, [eax + 0x14]
mov dword [esp + 0x48], edx
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
jmp 0x5be806
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x5be8a9
mov ebp, dword [esp + 0x6c]
mov ecx, ebx
mov ebx, dword [ebp]
mov esi, ebp
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, ebx
jae 0x5bf0ff
movzx edx, byte [edx + ebp]
cmp dl, 5
je 0x5be9e2
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi + 0x14]
mov edi, eax
lea eax, [ebx + 1]
cmp eax, edx
jg 0x5be988
lea eax, [ebx + 1]
mov dword [esi + 0x18], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea edx, [ebp + eax*4]
mov byte [edx + 4], 1
mov edx, dword [esp + 0x2c]
mov dword [ebp + eax*4 + 8], edx
mov eax, dword [esp + 0x50]
mov ecx, edx
movzx edx, byte [esp + 0x22]
jmp 0x5be867
lea ecx, [0x652b20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5be9d7
mov dword [ebx + 0x14], eax
mov esi, ebx
mov edi, dword [esp + 0x30]
mov ebx, ecx
mov ebp, eax
movzx ecx, byte [esp + 0x22]
jmp 0x5be95b
mov edi, dword [esp + 0x48]
call fcn.0044b4d0
jmp 0x5be9c6
mov edx, dword [esp + 0x2c]
jmp 0x5be978
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x50]
cmp ebx, ebp
jae 0x5bf0f8
mov esi, ebx
lea ebx, [ebx + ebx*2]
shl ebx, 3
movzx ebx, byte [ebx + edx]
mov edi, edx
lea edx, [ebx - 7]
cmp dl, 3
ja 0x5beb3b
mov edx, dword [esp + 0x54]
cmp edx, ebp
jae 0x5bf0f1
lea ebx, [edx + edx*2]
shl ebx, 3
movzx ebx, byte [ebx + edi]
cmp bl, 5
je 0x5beb34
mov ebx, dword [eax + 4]
inc ebx
imul ebx, edx
mov ebp, dword [esp + 0x2c]
add ebx, ebp
mov dword [esp + 0x3c], ebx
mov esi, ebp
mov ebp, dword [eax + 0x24]
mov edi, edx
mov edx, dword [eax + 0x20]
shr ebx, 5
cmp ebx, ebp
jae 0x5bf0ea
mov ebp, dword [edx + ebx*4]
mov ecx, dword [esp + 0x3c]
mov eax, 1
shl eax, cl
test ebp, eax
je 0x5beb25
xor eax, eax
test al, al
je 0x5beb1f
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
mov ecx, eax
lea eax, [ebx + 1]
cmp eax, edx
jg 0x5beac0
lea eax, [ebx + 1]
mov dword [ecx + 0x18], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea edx, [ebp + eax*4]
mov byte [edx + 4], 0
mov dword [ebp + eax*4 + 8], esi
mov eax, dword [esp + 0x54]
mov ebx, dword [ecx + 4]
mov ecx, ebx
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov dword [esp + 0x38], edi
lea ecx, [0x652b20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5beb14
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov ebx, ecx
mov ebp, eax
mov ecx, dword [esp + 0x6c]
jmp 0x5bea94
mov edi, dword [esp + 0x48]
call fcn.0044b4d0
jmp 0x5beb02
mov ecx, dword [esp + 0x6c]
jmp 0x5beaad
or eax, ebp
mov dword [edx + ebx*4], eax
mov eax, 1
jmp 0x5bea76
mov ecx, eax
jmp 0x5beaad
mov edx, dword [eax + 4]
cmp bl, 5
je 0x5bec40
lea ebx, [edx + 1]
imul ebx, esi
add ebx, edx
mov dword [esp + 0x3c], ebx
mov ebp, dword [eax + 0x24]
mov edi, edx
mov edx, dword [eax + 0x20]
shr ebx, 5
cmp ebx, ebp
jae 0x5bf0e3
mov ebp, dword [edx + ebx*4]
mov ecx, dword [esp + 0x3c]
mov eax, 1
shl eax, cl
test eax, ebp
je 0x5bec31
xor eax, eax
test al, al
je 0x5bec2b
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x14]
mov ebp, dword [eax + 0x1c]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebp
jg 0x5bebc5
lea eax, [edx + 1]
mov dword [ecx + 0x18], eax
lea eax, [edx + edx*2]
mov dword [ebx + eax*4], esi
lea edx, [ebx + eax*4]
mov byte [edx + 4], 0
mov dword [ebx + eax*4 + 8], edi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
lea ecx, [0x652b20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5bec20
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x6c]
jmp 0x5beb9c
mov edi, dword [esp + 0x48]
call fcn.0044b4d0
jmp 0x5bec0b
mov ecx, dword [esp + 0x6c]
jmp 0x5bebb3
or ebp, eax
mov dword [edx + ebx*4], ebp
mov eax, 1
jmp 0x5beb7e
mov ecx, eax
jmp 0x5bebb3
cmp cl, 2
jne 0x5bed81
test bl, bl
jne 0x5bed5d
mov ebp, dword [esp + 0x54]
test ebp, ebp
jb 0x5bed55
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov esi, edx
mov edx, dword [ebx + 8]
mov edi, eax
mov eax, dword [ebx + 0xc]
cmp ebp, eax
jae 0x5bed4f
mov eax, dword [ebx]
mov edx, dword [edx + ebp*4]
mov ebp, dword [eax + 4]
mov eax, dword [eax]
cmp edi, ebp
jae 0x5bf0ce
movzx eax, byte [esi + eax]
cmp al, 5
je 0x5becc5
mov eax, dword [ebx + 0x14]
mov ebp, dword [ebx + 0x18]
mov esi, edx
lea edx, [ebp + 1]
mov ebx, dword [ebx + 0x1c]
cmp edx, ebx
jg 0x5becee
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x18], edx
lea edx, [ebp + ebp*2]
mov dword [eax + edx*4], edi
lea ebp, [eax + edx*4]
mov byte [ebp + 4], 1
mov dword [eax + edx*4 + 8], esi
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x54]
cmp ebp, edx
jae 0x5bf0c7
mov edx, dword [esp + 0x2c]
mov dword [eax + ebp*4], edx
mov eax, dword [esp + 0x50]
mov ecx, edx
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov dword [esp + 0x3c], esi
lea ecx, [0x652b20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5bed44
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebp, ecx
movzx ecx, byte [esp + 0x22]
jmp 0x5beca9
mov edi, dword [esp + 0x48]
call fcn.0044b4d0
jmp 0x5bed30
mov edx, dword [esp + 0x2c]
jmp 0x5becde
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
jmp 0x5bed4f
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0x54]
cmp ebx, ecx
jae 0x5bf0d5
mov ecx, dword [esp + 0x2c]
mov dword [edx + ebx*4], ecx
mov edi, eax
jmp 0x5be8b1
cmp cl, 3
jne 0x5bedc8
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
movzx eax, byte [esp + 8]
not eax
and eax, dword [esp + 0x54]
test al, al
jne 0x5bedbf
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov edi, dword [esp + 0x6c]
jmp 0x5be8b1
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5beeab
cmp edx, 1
jle 0x5beea2
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x68]
movzx ebx, byte [ecx + 0x50]
test bl, bl
je 0x5bee9b
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5bee97
test edx, edx
jle 0x5bee93
mov ebp, dword [ecx + 0x54]
mov esi, ebx
mov ebx, dword [ecx + 0x58]
cmp ebx, 1
jbe 0x5bf0c0
mov ebx, dword [ebp + 4]
cmp edx, ebx
jle 0x5bee50
mov ebx, dword [ecx + 0x58]
mov ebp, dword [ecx + 0x54]
mov edi, edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp ebx, edx
jle 0x5bee8f
cmp ebp, eax
je 0x5bee50
mov dword [esp], ebp
mov dword [esp + 4], eax
shl edx, 2
mov dword [esp + 8], edx
call fcn.0044bcd0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x50], 1
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x5bee83
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 4]
mov ebp, dword [esp + 0x2c]
cmp ebp, ebx
je 0x5bee77
mov edi, edx
jmp 0x5be8b1
mov byte [esp + 0x80], 1
add esp, 0x64
ret
mov byte [esp + 0x80], 1
add esp, 0x64
ret
mov edx, ebx
jmp 0x5bee39
mov esi, ebx
jmp 0x5bee50
mov esi, ebx
jmp 0x5bee50
movzx esi, byte [esp + 0x23]
jmp 0x5bee27
mov edx, dword [esp + 0x2c]
jmp 0x5bedea
mov eax, dword [esp + 0x68]
mov byte [eax + 0x50], 1
mov byte [esp + 0x80], 1
add esp, 0x64
ret
cmp cl, 7
ja 0x5bef41
cmp cl, 5
je 0x5bf120
cmp cl, 6
jne 0x5beee1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
mov edx, ebx
jmp 0x5be867
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005b8270
movzx eax, byte [esp + 8]
test al, al
je 0x5bef38
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
lea ecx, [ebp + ebx]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov edi, dword [esp + 0x6c]
jmp 0x5be8b1
cmp cl, 8
je 0x5befe2
cmp cl, 9
je 0x5bef9f
cmp cl, 0xa
jne 0x5bf106
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa
je 0x5bef96
cmp eax, 0xffffffff
je 0x5bef96
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov edi, dword [esp + 0x6c]
jmp 0x5be8b1
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp ecx, 0xffffffff
je 0x5befd9
mov ebx, dword [esp + 0x2c]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov edi, dword [esp + 0x6c]
jmp 0x5be8b1
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jbe 0x5bf0dc
mov edx, dword [edx]
cmp eax, edx
jne 0x5bf02c
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x5be867
mov edi, dword [esp + 0x6c]
jmp 0x5be8b1
movzx eax, byte [esi + 0x50]
mov byte [esp + 0x80], al
add esp, 0x64
ret
lea eax, [0x652b20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00437ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5bf097
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x7c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x5be7b5
lea edi, [ebx + 0x14]
call fcn.0044b4d0
jmp 0x5bf082
mov eax, dword [esp + 0x6c]
jmp 0x5be7d0
or ebx, ebp
mov dword [eax + edx*4], ebx
mov eax, 1
jmp 0x5be795
mov eax, ebx
jmp 0x5be7d0
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
lea eax, [0x635280]
mov dword [esp], eax
lea eax, [0x6c8490]
mov dword [esp + 4], eax
call fcn.00426780
ud2
lea eax, [0x635280]
mov dword [esp], eax
lea eax, [0x6c8498]
mov dword [esp + 4], eax
call fcn.00426780
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.00449d70
jmp fcn.005be6f0