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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x586830
sub esp, 0x44
movzx eax, word [esp + 0x68]
cmp ax, 0x303
jae 0x58654f
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x586499
mov edx, dword [ecx + 8]
cmp edx, 0x2fd00e80
jne 0x586431
lea ebx, [0x7ef540]
cmp ebx, ecx
jne 0x586431
mov word [esp + 0x6c], 0x203
mov byte [esp + 0x6e], 0x11
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x44
ret
cmp edx, 0xcc456746
jne 0x586499
lea edx, [0x7b6ce0]
cmp edx, ecx
jne 0x586499
cmp ax, 0x303
jae 0x586471
mov word [esp + 0x6c], 0
mov byte [esp + 0x6e], 0x10
mov dword [esp + 0x70], 8
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x44
ret
mov word [esp + 0x6c], 0x201
mov byte [esp + 0x6e], 0x10
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x44
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
nop
lea eax, [0x822731]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x586544
mov eax, dword [esp + 0x30]
mov dword [edi], eax
mov word [esp + 0x6c], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 0x70], 0
lea eax, [0x8b3870]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
add esp, 0x44
ret
mov eax, dword [esp + 0x30]
call fcn.0044f0d0
jmp 0x58651e
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x5863e8
xor eax, eax
jmp 0x58656a
mov edx, dword [esp + 0x28]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jge 0x5867b7
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx + eax*2]
mov word [esp + 0x1e], dx
mov word [esp], dx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc], esi
call fcn.0058aeb0
movzx eax, byte [esp + 0x10]
test al, al
je 0x58655f
movzx eax, word [esp + 0x1e]
mov word [esp], ax
call fcn.005b0080
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x586816
nop
movzx ecx, word [esp + 0x1e]
cmp cx, 0x403
ja 0x586774
cmp cx, 0x203
ja 0x586760
cmp cx, 0x201
jne 0x586748
mov edx, 0x10
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x586687
mov ebp, dword [ebx + 8]
cmp ebp, 0x2fd00e80
jne 0x58673d
lea esi, [0x7ef540]
cmp esi, ebx
jne 0x586646
cmp dl, 0x11
jne 0x58655f
mov word [esp + 0x6c], cx
mov byte [esp + 0x6e], dl
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x44
ret
cmp ebp, 0xcc456746
jne 0x586687
lea ebp, [0x7b6ce0]
cmp ebp, ebx
jne 0x586687
cmp dl, 0x10
je 0x586666
cmp dl, 0x12
jne 0x58655f
mov word [esp + 0x6c], cx
mov byte [esp + 0x6e], dl
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x44
ret
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
nop
lea eax, [0x822731]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x586732
mov eax, dword [esp + 0x2c]
mov dword [edi], eax
mov word [esp + 0x6c], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 0x70], 0
lea eax, [0x8b3870]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
add esp, 0x44
ret
mov eax, dword [esp + 0x2c]
call fcn.0044f0d0
jmp 0x58670c
lea esi, [0x7ef540]
jmp 0x586646
cmp cx, 0x203
jne 0x586759
mov edx, 0x11
jmp 0x5865f7
xor edx, edx
jmp 0x5865f7
cmp cx, 0x401
je 0x5865f2
cmp cx, 0x403
je 0x58674f
jmp 0x586759
cmp cx, 0x503
ja 0x58678f
cmp cx, 0x501
je 0x5865f2
cmp cx, 0x503
je 0x58674f
jmp 0x586759
cmp cx, 0x601
je 0x5865f2
cmp cx, 0x603
je 0x58674f
lea edx, [ecx - 0x804]
cmp dx, 2
ja 0x586759
mov edx, 0x12
jmp 0x5865f7
nop
lea eax, [0x7c34e0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x39
mov eax, dword [0xb91180]
test eax, eax
jne 0x586809
lea eax, [0x82dd5e]
mov dword [edi], eax
mov word [esp + 0x6c], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 0x70], 0
lea eax, [0x8b3870]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
add esp, 0x44
ret
lea eax, [0x82dd5e]
call fcn.0044f0d0
jmp 0x5867e3
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8ac5c8]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.0044d880
jmp fcn.005863c0