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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x248]
cmp eax, dword [ecx + 8]
jbe 0x5beab5
sub esp, 0x2c8
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x2d4]
movzx ebp, byte [ebx + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5be4f8
lea edi, [esp + 0x124]
xor eax, eax
call fcn.0045eb84
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x6353c0]
cmp ecx, ebp
jne 0x5bea9e
lea edi, [esp + 0x124]
call fcn.0045ee78
mov ecx, dword [esp + 0x148]
jmp 0x5be524
lea edi, [esp + 0x44]
xor eax, eax
call fcn.0045eb88
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x635900]
cmp ecx, ebp
jne 0x5bea88
lea edi, [esp + 0x44]
call fcn.0045eea0
mov ecx, dword [esp + 0x68]
cmp ecx, 0x200
jbe 0x5be619
test ecx, 1
je 0x5be613
mov ebp, dword [ebx + 0x274]
lea esi, [ebp + 1]
mov eax, edx
mov edx, dword [ebx + 0x270]
mov edi, ecx
mov ecx, dword [ebx + 0x278]
cmp ecx, esi
jae 0x5be5c1
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
lea eax, [0x60c800]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00447e40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2d4]
mov dword [ebx + 0x278], edx
mov edx, dword [0x84c5a0]
test edx, edx
jne 0x5be5aa
mov dword [ebx + 0x270], eax
jmp 0x5be5b5
lea edi, [ebx + 0x270]
call fcn.0045e940
mov edi, dword [esp + 0x3c]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x40]
lea ecx, [ebp + 1]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x81fb20]
mov esi, dword [0x81fb24]
lea ebx, [edx + ebp*8 + 4]
mov dword [ebx], esi
mov ebx, dword [0x84c5a0]
lea edx, [edx + ebp*8]
test ebx, ebx
jne 0x5be5f3
mov dword [edx], ecx
cmp edi, 0x200
jmp 0x5be608
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0045e940
cmp ebx, 0x200
mov eax, ebp
mov edx, eax
mov ebx, dword [esp + 0x2d4]
jmp 0x5be619
cmp ecx, 0x200
jb 0x5be621
shr edx, 9
shl edx, 9
mov eax, dword [ebx + 0x28c]
sub eax, edx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x10]
cmp edx, eax
jbe 0x5be63c
mov eax, dword [ecx + 8]
jmp 0x5be645
mov eax, dword [ecx + 8]
cmp eax, edx
ja 0x5be645
mov eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005b0fa0
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2d4]
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5be682
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5be9cb
xor edx, edx
test edx, edx
je 0x5be6a7
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5be8c4
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5be8f3
xor edx, edx
test dl, dl
je 0x5be6cc
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5be7d9
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5be807
xor edx, edx
test dl, dl
je 0x5be6ea
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5be712
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5be733
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2d0]
cmp edx, eax
jb 0x5be702
add eax, ecx
cmp edx, eax
setb al
jmp 0x5be704
xor eax, eax
mov byte [esp + 0x2d8], al
add esp, 0x2c8
ret
xor ecx, ecx
sub ecx, eax
jmp 0x5be6ee
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x218]
mov esi, ebx
call fcn.0045f062
mov ecx, dword [esp + 0x2d4]
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5be7cd
mov dword [esp + 0x28], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x218]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5be79f
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5be718
mov eax, dword [esp + 0x20]
jmp 0x5be712
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov edx, dword [edx + 0xa0]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x5be7d4
imul ebx, ebx, 0x2c
mov ecx, dword [ebx + edx + 0x38]
mov eax, dword [esp + 0x20]
jmp 0x5be714
xor ecx, ecx
jmp 0x5be714
call fcn.0045e9c0
xor edx, edx
mov ebx, dword [esp + 0x24]
lea ebp, [ebx + eax]
cmp edx, ebp
setb dl
jmp 0x5be6ce
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x244]
mov esi, ebx
call fcn.0045f062
mov ecx, dword [esp + 0x2d4]
mov esi, ecx
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5be8b6
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x244]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5be884
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5be7ec
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5be7d9
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5be8bf
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5be7db
mov ecx, esi
xor edx, edx
jmp 0x5be7db
call fcn.0045e9c0
xor edx, edx
mov ebx, dword [esp + 0x2cc]
cmp dword [ebx + 0xc], edx
setb dl
jmp 0x5be6a9
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x270]
mov esi, ebx
call fcn.0045f062
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5be9a2
mov dword [esp + 0x30], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x270]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5be970
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5be8d8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5be8c4
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x30]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5be9ab
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5be8c6
mov eax, esi
xor edx, edx
jmp 0x5be8c6
call fcn.0045e9c0
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x29c]
mov esi, ebx
call fcn.0045f062
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5bea7a
mov dword [esp + 0x34], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x29c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5bea48
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5be9b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5be682
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5bea83
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5be684
mov eax, esi
xor edx, edx
jmp 0x5be684
call fcn.0045e9c0
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x60c180]
mov dword [esp + 8], eax
call fcn.00408a40
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x60c180]
mov dword [esp + 8], eax
call fcn.00408a40
nop
call fcn.0045d530
jmp fcn.005be480