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

Disassembly:
mov ecx, dword [0x817cc4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x56f621
sub esp, 0x108
mov eax, 0
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov byte [esp + 0x2e], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.0056eae0
mov eax, dword [esp + 4]
test eax, eax
jne 0x56f5a7
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.00466f5b
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x2d], cl
lea edi, [esp + 0xbc]
lea esi, [esp + 4]
call fcn.0046743e
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0046743e
movzx ecx, byte [esp + 0x2d]
test cl, cl
je 0x56edf5
lea edi, [esp + 0x94]
lea esi, [esp + 0xbc]
call fcn.0046743e
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
test eax, 0x80000000
je 0x56ed19
shl eax, 1
mov ebp, ecx
shl ecx, 1
mov edx, ebp
shr ebp, 0x1f
or ebp, eax
mov eax, ebp
shl ebp, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, ebp
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x56ed2b
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov edx, ecx
mov ecx, ebp
test ecx, ecx
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
je 0x56ed51
test edx, 0x3fffffff
jne 0x56ed51
mov eax, dword [esp + 0x10c]
xor ecx, ecx
jmp 0x56edfe
mov eax, dword [esp + 0x10c]
test byte [eax], al
lea edi, [esp + 0x80]
lea esi, [esp + 0xa8]
call fcn.0046743e
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x80]
call fcn.0046743e
mov dword [esp + 0x18], 0x77
call fcn.0049ce30
lea edi, [esp + 0xd0]
lea esi, [0x7f20c0]
call fcn.0046743e
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.00466f59
lea eax, [0x56f760]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
lea edi, [esp + 0xec]
lea esi, [esp + 0xd0]
call fcn.0046743e
lea ecx, [esp + 0xe4]
mov dword [esp + 0x104], ecx
mov byte [esp + 0x2e], 1
mov ecx, 1
jmp 0x56edfe
mov eax, dword [esp + 0x10c]
xor ecx, ecx
mov byte [esp + 0x2f], cl
mov ebp, dword [eax + 0x144]
mov edx, dword [eax + 0x140]
cmp ebp, 3
jne 0x56ee29
cmp word [edx], 0x6374
jne 0x56f4ce
cmp byte [edx + 2], 0x70
je 0x56ee46
jmp 0x56f4ce
cmp ebp, 4
jne 0x56f4ce
cmp dword [edx], 0x34706374
je 0x56ee46
cmp dword [edx], 0x36706374
jne 0x56f4ce
mov ebp, dword [esp + 0x118]
test ebp, ebp
jne 0x56eee7
mov edx, dword [esp + 0x120]
test edx, edx
je 0x56f5fc
mov ebx, dword [esp + 0x120]
lea ebp, [0x6df7a4]
cmp ebx, ebp
jne 0x56ee8f
lea eax, [0x5bf900]
mov dword [esp], eax
call fcn.0040bd60
mov eax, dword [esp + 4]
lea ecx, [0x6df7a4]
jmp 0x56eeb5
lea esi, [0x6df7b8]
cmp ebx, esi
jne 0x56f5fc
lea eax, [0x5c1f60]
mov dword [esp], eax
call fcn.0040bd60
mov eax, dword [esp + 4]
lea ecx, [0x6df7b8]
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004895b0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x56f42b
mov eax, dword [esp + 0x10c]
movzx ecx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x120]
test ebp, ebp
je 0x56f5e4
mov ebp, dword [esp + 0x120]
mov edx, eax
lea eax, [0x6df7a4]
cmp ebp, eax
jne 0x56ef19
mov eax, dword [esp + 0x124]
cmp byte [eax + 4], 0x7f
sete al
jmp 0x56ef82
lea eax, [0x6df7b8]
cmp ebp, eax
jne 0x56f5e4
mov ebx, dword [0x7ebf3c]
cmp ebx, 0x10
jb 0x56f5da
mov eax, dword [esp + 0x124]
lea ecx, [eax + 8]
mov dword [esp + 0x74], ecx
mov esi, dword [0x7ebf38]
lea edi, [esp + 0x40]
call fcn.00467448
test byte [eax], al
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.00403080
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x10c]
test al, al
je 0x56f000
mov word [esp + 0x30], 0xffff
mov byte [esp + 0x32], 1
mov edx, dword [0x7f1ac8]
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
je 0x56efa9
mov byte [esp + 0x32], 0xfe
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov dword [esp + 4], 0x98000011
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0049f190
lea eax, [0x5ad000]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404930
mov eax, dword [esp + 8]
mov dword [esp + 0x68], eax
movzx ecx, byte [esp + 0x2f]
or ecx, 2
mov byte [esp + 0x2f], cl
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea edx, [0x56f720]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x100], edx
mov byte [esp + 0x2e], cl
lea edx, [0x5bd200]
mov dword [esp], edx
call fcn.0040bd60
mov eax, dword [esp + 4]
lea ecx, [0x56f630]
mov dword [eax], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 4], ecx
mov ecx, dword [0x817f20]
test ecx, ecx
jne 0x56f099
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x68]
jmp 0x56f0b8
call fcn.00466d30
mov ecx, dword [esp + 0x114]
mov dword [edi], ecx
mov edx, dword [esp + 0x10c]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x68]
mov dword [edi + 8], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov dword [esp], eax
call fcn.00443680
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 8], ecx
call fcn.0049efa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x56f327
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov dword [esp], 0
call fcn.00405e00
movzx eax, byte [esp + 8]
test al, al
jne 0x56f208
mov eax, dword [esp + 0x70]
lea ecx, [0x6df6f0]
cmp eax, ecx
jne 0x56f199
lea eax, [0x5ba440]
mov dword [esp], eax
call fcn.0040bd60
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x5d85a2]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x817f20]
test ecx, ecx
jne 0x56f183
mov ecx, dword [esp + 0x5c]
jmp 0x56f18e
call fcn.00466d10
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x6df68c]
jmp 0x56f1a1
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x56f1ea
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x56f201
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 8]
cmp dword [0x7eba28], eax
jne 0x56f283
mov dword [esp + 0x50], ebx
mov dword [esp + 0x6c], eax
mov ecx, dword [0x7eba2c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00403dd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x56f273
lea ecx, [0x6df7cc]
lea edx, [0x817b80]
jmp 0x56f2c0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
cmp dword [0x7eba30], eax
jne 0x56f2c0
mov ecx, dword [0x7eba34]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00403dd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x56f2b8
mov ecx, dword [0x7eba90]
mov edx, dword [0x7eba94]
jmp 0x56f2c0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x56f309
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x56f320
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0x10c]
lea ecx, [eax + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0xffff
mov dword [esp + 8], 0x7010
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 4
call fcn.0048caa0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x56f366
xor eax, eax
xor ecx, ecx
jmp 0x56f3c4
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
lea edx, [0x5ba440]
mov dword [esp], edx
call fcn.0040bd60
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x5d899b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x817f20]
test ecx, ecx
jne 0x56f3ae
mov ecx, dword [esp + 0x54]
jmp 0x56f3b9
call fcn.00466d10
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0x6df68c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 2
je 0x56f40d
and eax, 0xfffffffd
mov byte [esp + 0x2f], al
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x56f424
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
lea edx, [0x5ba440]
mov dword [esp], edx
call fcn.0040bd60
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x5d7840]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x817f20]
test ecx, ecx
jne 0x56f473
mov ecx, dword [esp + 0x60]
jmp 0x56f47e
call fcn.00466d10
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea ecx, [0x6df68c]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x56f4c7
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov edx, dword [0x7eb43c]
mov ecx, dword [edx]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call ecx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x56f502
xor eax, eax
xor ecx, ecx
jmp 0x56f560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
lea edx, [0x5ba440]
mov dword [esp], edx
call fcn.0040bd60
mov eax, dword [esp + 4]
mov dword [eax + 4], 7
lea ecx, [0x5d7ed4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x817f20]
test ecx, ecx
jne 0x56f54a
mov ecx, dword [esp + 0x64]
jmp 0x56f555
call fcn.00466d10
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, eax
lea eax, [0x6df68c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movzx eax, byte [esp + 0x2f]
test al, 1
je 0x56f5a0
and eax, 0xfffffffe
mov byte [esp + 0x2e], al
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
call eax
add esp, 0x108
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
add esp, 0x108
ret
mov edx, 0x10
call fcn.00466e30
lea eax, [0x5b0d00]
mov dword [esp], eax
lea eax, [0x6df320]
mov dword [esp + 4], eax
call fcn.004379f0
lea eax, [0x5b0d00]
mov dword [esp], eax
lea eax, [0x6df320]
mov dword [esp + 4], eax
call fcn.004379f0
nop
call fcn.00436f70
add esp, 0x108
ret
call fcn.00465910
jmp fcn.0056ebf0