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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x585d4e
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
lea esi, [eax + 0x18]
lea edi, [esp + 0x90]
call fcn.00462c56
mov ecx, dword [eax + 0x3c]
mov ebx, dword [eax + 0x40]
mov ebp, dword [eax + 0x44]
mov eax, dword [eax + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.00563c60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ebx, dword [0x7f32e0]
mov ebp, dword [esp + 0x1c]
mov esi, edx
lea edx, [0x7f32e0]
cmp dword [edx + 4], ebp
jne 0x5850b7
mov dword [esp + 0x44], ebx
mov edx, dword [esp + 0x48]
xor edi, edi
jmp 0x58509f
inc edi
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
cmp edi, ebp
jge 0x5850db
jae 0x585d44
mov esi, dword [edx + edi*4]
lea ebx, [ebx + edi*4]
cmp dword [ebx], esi
je 0x585096
mov esi, dword [esp + 0x20]
mov edx, dword [0x7f32c0]
lea ebx, [0x7f32c0]
cmp dword [ebx + 4], ebp
jne 0x585479
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x48]
xor edi, edi
jmp 0x585461
mov eax, dword [0x7f33f0]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
lea ebx, [0x7f33f0]
cmp dword [ebx + 4], ecx
jne 0x585113
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x585165
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x25
lea ecx, [0x6442c2]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x60d600]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
lea ecx, [0x60afc0]
mov dword [esp], ecx
call fcn.0040bcc0
mov edi, dword [esp + 4]
mov dword [esp + 0x34], edi
mov eax, dword [0x81dcc0]
test eax, eax
jne 0x5851a3
mov eax, dword [esp + 0x5c]
mov dword [edi], eax
jmp 0x5851ac
mov eax, dword [esp + 0x5c]
call fcn.00462500
lea eax, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.0056feb0
movzx eax, byte [esp + 0xc]
test al, al
je 0x585406
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
lea edx, [esp + 0x78]
mov dword [esp], edx
lea ebx, [0x62f420]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5853b4
lea eax, [esp + 0x78]
mov dword [esp], eax
lea eax, [0x5f2e00]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
lea ecx, [eax + 4]
mov dword [esp + 8], ecx
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x585362
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x58523a
xor ecx, ecx
jmp 0x58524d
movzx ecx, byte [ecx]
test cl, cl
je 0x585248
mov ecx, 0xffffffff
jmp 0x58524d
mov ecx, 1
test ecx, ecx
jle 0x585310
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5852be
lea eax, [0x60af00]
mov dword [esp], eax
call fcn.0040bcc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov ecx, dword [0x81dcc0]
mov eax, dword [eax]
test ecx, ecx
jne 0x585288
mov dword [edi], eax
jmp 0x58528d
call fcn.00462500
lea eax, [0x608ce0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x32
lea ecx, [0x647774]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2a
lea ecx, [0x6458d2]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x642d06]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x63f4a1]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x640acb]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
inc edi
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
cmp edi, ebp
jge 0x58549d
jae 0x585d3b
mov esi, dword [ebx + edi*4]
lea edx, [edx + edi*4]
cmp dword [edx], esi
je 0x585458
mov esi, dword [esp + 0x20]
mov edx, dword [0x7f32d0]
lea ebx, [0x7f32d0]
cmp dword [ebx + 4], ebp
jne 0x58572c
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x48]
xor edi, edi
jmp 0x585714
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [esp + 0x6c]
mov dword [esp], eax
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
call fcn.0056f730
movzx eax, byte [esp + 8]
test al, al
je 0x5856b9
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00592fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
je 0x585667
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0055a0f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x585615
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
lea eax, [0x623fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [0x81dcc0]
test ecx, ecx
jne 0x5855bc
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
jmp 0x5855e4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.00462500
lea edi, [ecx + 8]
mov eax, dword [esp + 0x2c]
call fcn.00462500
lea edi, [ecx + 0xc]
mov eax, dword [esp + 0x28]
call fcn.00462500
mov eax, ecx
lea ecx, [0x61f8a0]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x646985]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x642674]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1e
lea ecx, [0x641982]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
inc edi
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
cmp edi, ebp
jge 0x585755
jae 0x585d32
mov esi, dword [ebx + edi*4]
lea edx, [edx + edi*4]
cmp dword [edx], esi
je 0x58570b
mov esi, dword [esp + 0x20]
mov edx, dword [0x7f32f0]
lea ebx, [0x7f32f0]
cmp dword [ebx + 4], ebp
je 0x585746
mov ebx, dword [esp + 0x48]
jmp 0x58586f
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x48]
xor edi, edi
jmp 0x58585b
mov edx, dword [esp + 0xac]
test edx, edx
jne 0x585800
cmp ecx, 0x20
je 0x5857bb
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x643784]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x605c20]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x31
lea ecx, [0x6474ba]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
inc edi
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
cmp edi, ebp
jge 0x58588b
jae 0x585d29
mov esi, dword [ebx + edi*4]
lea edx, [edx + edi*4]
cmp dword [edx], esi
je 0x585852
mov edx, dword [0x7f32b0]
lea esi, [0x7f32b0]
cmp dword [esi + 4], ebp
jne 0x585937
xor eax, eax
jmp 0x58598a
mov edx, dword [esp + 0xac]
test edx, edx
je 0x5858e8
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x64711a]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov edx, dword [0x7f2c04]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call fcn.00559f20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
lea ebx, [0x610be0]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
lea ecx, [0x64320d]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
inc eax
cmp eax, ebp
jge 0x5859a0
jae 0x585d22
mov esi, dword [ebx + eax*4]
lea edi, [edx + eax*4]
cmp dword [edi], esi
je 0x585989
jmp 0x585937
lea eax, [0x60d600]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x78]
mov dword [esp], ecx
lea ecx, [0x62f420]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x585cd0
lea eax, [0x60d600]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
lea ecx, [0x60d600]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
lea ecx, [0x60d600]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
lea ecx, [0x60ad20]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [0x81dcc0]
test ecx, ecx
jne 0x585a5c
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
jmp 0x585a8f
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x24]
call fcn.00462500
mov edi, ecx
mov eax, dword [esp + 0x5c]
call fcn.00462500
lea edx, [ecx + 4]
mov eax, dword [esp + 0x54]
mov edi, edx
call fcn.00462500
lea edi, [ecx + 8]
mov eax, dword [esp + 0x50]
call fcn.00462500
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
lea eax, [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.0056feb0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x585ad5
mov eax, 1
jmp 0x585b2e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
mov dword [esp], edx
lea ebx, [0x62f420]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x585b05
mov eax, 1
jmp 0x585b2e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x60]
mov dword [esp], edx
lea ebx, [0x62f420]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
xor eax, 1
test al, al
jne 0x585c7e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x60]
mov dword [esp], edx
lea edx, [0x62f420]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0056e8c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x585c7e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x585b76
xor ecx, ecx
jmp 0x585b89
movzx ecx, byte [ecx]
test cl, cl
je 0x585b84
mov ecx, 0xffffffff
jmp 0x585b89
mov ecx, 1
test ecx, ecx
jle 0x585bfb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x585b9a
xor ecx, ecx
jmp 0x585bad
movzx ecx, byte [ecx]
test cl, cl
je 0x585ba8
mov ecx, 0xffffffff
jmp 0x585bad
mov ecx, 1
test ecx, ecx
jle 0x585bfb
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x585bbf
xor ecx, ecx
jmp 0x585bd2
movzx ecx, byte [ecx]
test cl, cl
je 0x585bcd
mov ecx, 0xffffffff
jmp 0x585bd2
mov ecx, 1
test ecx, ecx
jle 0x585bfb
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x585be4
xor ecx, ecx
jmp 0x585bf7
movzx ecx, byte [ecx]
test cl, cl
je 0x585bf2
mov ecx, 0xffffffff
jmp 0x585bf7
mov ecx, 1
test ecx, ecx
jg 0x585c4d
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x24
lea ecx, [0x643d8f]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea ecx, [0x5ef8c0]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x640a93]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x640aaf]
mov dword [eax], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov ecx, ebp
call fcn.00462580
mov eax, edi
mov ecx, ebp
call fcn.00462580
mov eax, edi
mov ecx, ebp
call fcn.00462580
mov eax, edi
mov ecx, ebp
call fcn.00462580
mov eax, edi
mov ecx, ebp
call fcn.00462580
nop
call fcn.004610f0
jmp fcn.00584ff0