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

Disassembly:
push 0xffffffffffffffff
push 0x6c83fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x218
push ebx
push ebp
mov ebp, ecx
mov eax, dword [ebp + 0x7fc]
xor ebx, ebx
cmp eax, ebx
push esi
push edi
mov dword [esp + 0x1c], ebp
je 0x56e19a
push eax
call fcn.00630114
add esp, 4
mov dword [ebp + 0x7fc], ebx
mov dword [ebp + 0x800], ebx
mov dword [ebp + 0x804], ebx
mov eax, dword [ebp + 0x460]
cmp eax, ebx
je 0x56e1bf
push eax
call fcn.00630114
add esp, 4
mov dword [ebp + 0x460], ebx
mov dword [ebp + 0x464], ebx
mov dword [ebp + 0x468], ebx
mov eax, dword [0x74c650]
mov ecx, dword [eax + 0x458]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], ebx
xor esi, esi
jmp 0x56e1f0
mov ecx, dword [ebp + 0x7dc]
cmp ecx, ebx
je 0x56eb05
mov eax, dword [ebp + 0x7e0]
sub eax, ecx
mov ecx, dword [esp + 0x28]
sar eax, 2
cmp ecx, eax
jae 0x56eb05
mov ecx, dword [0x73e5ac]
xor eax, eax
cmp ecx, ebx
mov byte [esp + 0x13], bl
jle 0x56e245
mov dl, byte [ebp + 0x4e0]
mov edi, 0x6eaadc
cmp byte [edi - 4], dl
jne 0x56e23d
cmp dword [edi], ebx
je 0x56e31f
inc eax
add edi, 0xc
cmp eax, ecx
jl 0x56e230
or eax, 0xffffffff
mov edx, dword [ebp + 0x7dc]
mov edx, dword [edx + esi]
mov edx, dword [edx]
push str.1_1_0
push edx
lea ecx, [ebp + 0x440]
push eax
call fcn.0056a3f0
push eax
lea ecx, [esp + 0x30]
call fcn.00569910
mov edi, dword [esp + 0x30]
cmp edi, ebx
mov dword [esp + 0x230], ebx
je 0x56eadd
mov eax, dword [esp + 0x34]
sub eax, edi
sar eax, 2
cmp eax, ebx
jbe 0x56eadd
mov al, byte [ebp + 0x4e0]
cmp al, 7
jne 0x56e338
push ebx
push 0x14
mov ecx, ebp
call fcn.005ecd60
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
push eax
call fcn.00630d3a
mov dword [edi], eax
mov eax, dword [0x74c650]
mov ecx, dword [eax + 0x458]
mov eax, dword [ebp + 0x7d0]
add esp, 4
push eax
lea edx, [esp + 0x1a8]
push edx
mov dword [esp + 0x1c], ecx
call fcn.00435620
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
cmp eax, dword [ecx + 0xc58]
je 0x56e32f
mov eax, dword [eax]
cmp eax, ebx
je 0x56e32f
movzx eax, word [eax + 0x277]
imul eax, dword [edi]
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x56e311
mov ecx, ebp
call fcn.005e8330
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
cmp eax, ecx
jb 0x56e31a
mov eax, ecx
mov dword [edi + 4], eax
jmp 0x56e39a
lea edx, [eax + eax*2]
movzx eax, word [edx*4 + 0x6eaae0]
jmp 0x56e248
mov ecx, ebp
call fcn.005e8330
jmp 0x56e39a
cmp al, 0x93
je 0x56e386
cmp al, 0x94
je 0x56e386
cmp al, 0x95
je 0x56e386
cmp al, 0x96
je 0x56e386
cmp al, 0x97
je 0x56e386
cmp al, 0x98
je 0x56e386
cmp al, 0x99
je 0x56e386
cmp al, 0x9a
je 0x56e386
cmp al, 0x9b
je 0x56e386
cmp al, 0x9c
je 0x56e386
cmp al, 0x9d
jne 0x56e373
mov dword [edi], 5
mov dword [edi + 4], 5
jmp 0x56e393
cmp al, 0x9e
jne 0x56e39a
mov dword [edi], 5
mov dword [edi + 4], 5
jmp 0x56e393
mov dword [edi], 2
mov dword [edi + 4], 2
mov dword [edi + 8], 1
mov eax, dword [edi + 8]
sub eax, ebx
je 0x56e7f5
dec eax
je 0x56e51f
dec eax
jne 0x56e98f
mov edx, dword [esp + 0x238]
mov ecx, dword [ebp + 0x7dc]
xor eax, eax
cmp edx, ebx
mov dword [esp + 0x14], ebx
jle 0x56e3f2
mov edx, dword [ecx + esi]
mov edx, dword [edx]
nop
mov ecx, dword [esp + 0x23c]
cmp edx, dword [ecx + eax*8]
je 0x56e3ea
mov ecx, dword [esp + 0x238]
inc eax
cmp eax, ecx
jl 0x56e3d0
jmp 0x56e3f2
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x7dc]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + esi]
cmp ecx, dword [edx + 0x74]
mov dword [esp + 0x18], ecx
ja 0x56e98f
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + esi]
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0x24]
push 1
push eax
call fcn.00435870
cmp eax, ebx
mov dword [esp + 0x24], eax
jle 0x56e4ff
mov eax, dword [ebp + 0x7dc]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x66], bl
mov word [esp + 0x64], bx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov word [esp + 0x80], bx
mov ecx, dword [eax + esi]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + esi]
mov ecx, dword [edx]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + esi]
mov ecx, dword [edx + 0x7c]
mov dword [esp + 0x7c], ecx
mov edx, dword [eax + esi]
mov eax, dword [eax + esi]
mov ecx, edx
movzx edx, byte [edx + 0x74]
add dl, byte [ecx + 0x70]
mov ecx, dword [esp + 0x7c]
add eax, 4
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [esp + 0x54]
push ecx
lea ecx, [ebp + 0x440]
call fcn.00565c50
mov edx, dword [esp + 0x24]
mov ax, word [esp + 0x18]
mov dword [esp + 0x68], edx
mov dx, word [esp + 0x14]
mov word [esp + 0x64], ax
mov dword [esp + 0x6c], ebx
mov eax, dword [edi]
mov dword [esp + 0x70], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x74], ecx
push eax
lea ecx, [ebp + 0x7f8]
mov byte [esp + 0x6a], 1
mov word [esp + 0x84], dx
mov byte [esp + 0x17], 1
call fcn.00569cf0
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x7dc]
mov edx, dword [eax + esi]
inc ecx
cmp ecx, dword [edx + 0x74]
mov dword [esp + 0x18], ecx
jbe 0x56e410
jmp 0x56e985
cmp byte [ebp + 0x4e0], 0x1c
jne 0x56e663
xor eax, eax
mov byte [esp + 0x1a8], bl
mov ecx, 0x1f
lea edi, [esp + 0x1a9]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 0x7dc]
mov eax, dword [eax + esi]
add eax, 4
push eax
lea ecx, [esp + 0x1ac]
push str._____s
push ecx
call fcn.0062f64e
mov eax, dword [ebp + 0x7dc]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov byte [esp + 0x128], bl
mov byte [esp + 0x14a], bl
mov word [esp + 0x148], bx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], ebx
mov word [esp + 0x164], bx
mov edx, dword [eax + esi]
mov eax, dword [edx]
push eax
call fcn.00404b10
mov dword [esp + 0x124], eax
mov eax, dword [ebp + 0x7dc]
mov ecx, dword [eax + esi]
mov edx, dword [ecx]
add esp, 0x10
mov dword [esp + 0x118], edx
mov eax, dword [eax + esi]
mov eax, dword [eax + 0x7c]
push ebx
push eax
push ebx
lea ecx, [esp + 0x1b4]
push ecx
lea edx, [esp + 0x12c]
push edx
lea ecx, [ebp + 0x440]
mov dword [esp + 0x168], eax
call fcn.00565c50
or edi, 0xffffffff
lea eax, [esp + 0x114]
push eax
lea ecx, [ebp + 0x7f8]
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], edi
mov word [esp + 0x140], 0xffff
mov dword [esp + 0x14c], edi
mov dword [esp + 0x154], edi
mov dword [esp + 0x150], edi
mov byte [esp + 0x142], 1
call fcn.00569cf0
mov dword [esp + 0x230], edi
jmp 0x56eae8
mov dword [esp + 0x18], ebx
jmp 0x56e670
mov eax, dword [ebp + 0x7dc]
mov ecx, dword [eax + esi]
mov eax, dword [ecx]
mov edx, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [ebp + 0x440]
call fcn.00565b80
test al, al
je 0x56e7d3
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [ebp + 0x7dc]
mov ecx, dword [eax + esi]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24]
push 1
push edx
call fcn.00435870
cmp eax, ebx
mov dword [esp + 0x24], eax
jle 0x56e7d3
mov eax, dword [ebp + 0x7dc]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov byte [esp + 0x8c], bl
mov byte [esp + 0xae], bl
mov word [esp + 0xac], bx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov word [esp + 0xc8], bx
mov ecx, dword [eax + esi]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + esi]
mov ecx, dword [edx]
mov dword [esp + 0x88], ecx
mov edx, dword [eax + esi]
mov ecx, dword [edx + 0x7c]
mov dword [esp + 0xc4], ecx
mov edx, dword [eax + esi]
mov eax, dword [eax + esi]
mov ecx, edx
movzx edx, byte [edx + 0x74]
add dl, byte [ecx + 0x70]
mov ecx, dword [esp + 0xc4]
add eax, 4
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [ebp + 0x440]
call fcn.00565c50
mov edx, dword [esp + 0x24]
mov ax, word [esp + 0x18]
mov word [esp + 0xac], ax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ebx
mov eax, dword [edi]
mov dword [esp + 0xb8], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0xbc], ecx
mov dl, byte [edi + 8]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x84]
push eax
lea ecx, [ebp + 0x7f8]
mov byte [esp + 0xb2], dl
mov byte [esp + 0x17], 1
call fcn.00569cf0
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + esi]
mov edx, dword [ecx + 0x74]
inc eax
cmp eax, edx
mov dword [esp + 0x18], eax
jbe 0x56e670
jmp 0x56e985
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc54]
cmp ecx, dword [eax + 0xc58]
mov dword [esp + 0x14], ecx
je 0x56e98f
nop
mov edx, dword [esp + 0x1c]
mov ebp, dword [ecx]
mov eax, dword [edx + 0x7dc]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + esi]
cmp ecx, dword [edx]
jne 0x56e964
cmp dword [ebp + 0x54], 1
jne 0x56e964
movzx ecx, byte [ebp + 0x64]
mov eax, edx
mov edx, dword [esp + 0x23c]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x23c]
push edx
push ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.00565ec0
test al, al
je 0x56e964
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], ebp
mov byte [esp + 0x164], bl
mov byte [esp + 0x186], bl
mov word [esp + 0x184], bx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov word [esp + 0x1a0], bx
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 0x2cc]
mov ecx, dword [eax + 0x7c]
mov eax, dword [edx + 0x7dc]
mov dword [esp + 0x19c], ecx
mov edx, dword [eax + esi]
mov eax, edx
movzx edx, byte [edx + 0x74]
add dl, byte [eax + 0x70]
movzx eax, byte [ebp + 0x64]
add ebp, 4
push edx
push ecx
push eax
push ebp
lea ecx, [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
add ecx, 0x440
call fcn.00565c50
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], ebx
movzx dx, byte [eax + 0x64]
mov word [esp + 0x184], dx
mov eax, dword [edi]
mov dword [esp + 0x190], eax
mov dword [esp + 0x198], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x194], eax
mov cl, byte [edi + 8]
mov byte [esp + 0x186], cl
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x15c]
push edx
add ecx, 0x7f8
mov byte [esp + 0x17], 1
call fcn.00569cf0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0xc58]
add ecx, 4
cmp ecx, edx
mov dword [esp + 0x14], ecx
jne 0x56e810
mov ebp, dword [esp + 0x1c]
cmp byte [esp + 0x13], bl
jne 0x56eadd
mov eax, dword [ebp + 0x7dc]
mov ecx, dword [eax + esi]
mov edx, dword [ecx]
push edx
mov ecx, ebp
call fcn.0056abb0
test al, al
jne 0x56eadd
mov eax, dword [ebp + 0x7dc]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xd4], bl
mov byte [esp + 0xf6], bl
mov word [esp + 0xf4], bx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov word [esp + 0x110], bx
mov ecx, dword [eax + esi]
mov dword [esp + 0xcc], ecx
mov edx, dword [eax + esi]
mov ecx, dword [edx]
mov dword [esp + 0xd0], ecx
mov eax, dword [eax + esi]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x238]
xor eax, eax
cmp edx, ebx
mov dword [esp + 0x14], ebx
jle 0x56ea55
mov edx, dword [esp + 0x23c]
cmp ecx, dword [edx + eax*8]
je 0x56ea4d
mov edx, dword [esp + 0x238]
inc eax
cmp eax, edx
jl 0x56ea33
jmp 0x56ea55
mov eax, dword [edx + eax*8 + 4]
mov dword [esp + 0x14], eax
mov cx, word [esp + 0x14]
mov eax, dword [ebp + 0x7dc]
mov word [esp + 0xf4], cx
mov edx, dword [eax + esi]
mov eax, dword [eax + esi]
mov ecx, edx
movzx edx, byte [edx + 0x74]
add dl, byte [ecx + 0x70]
mov ecx, dword [esp + 0x10c]
add eax, 4
push edx
movzx edx, word [esp + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0xe4]
push ecx
lea ecx, [ebp + 0x440]
call fcn.00565c50
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov edi, dword [edi]
lea edx, [esp + 0xcc]
push edx
lea ecx, [ebp + 0x7f8]
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], ebx
mov byte [esp + 0xfa], 1
mov dword [esp + 0x10c], edi
call fcn.00569cf0
mov dword [esp + 0x230], 0xffffffff
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ecx
add esi, 4
jmp 0x56e1f0
mov ecx, ebp
call fcn.00567280
mov ecx, dword [ebp + 0x4e4]
call fcn.0060c880
xor esi, esi
xor edi, edi
jmp 0x56eb20
mov eax, dword [ebp + 0x7fc]
cmp eax, ebx
je 0x56eb7c
mov ecx, dword [ebp + 0x800]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x56eb7c
mov eax, dword [ebp + 0x7fc]
mov ecx, dword [ebp + 0x4e4]
push 0xffffffffffffffff
add eax, edi
push eax
push 0x6d1416
call fcn.0060cc00
mov ecx, dword [ebp + 0x4e4]
mov eax, dword [ecx]
call dword [eax + 0x6c]
dec eax
push eax
mov ecx, ebp
call fcn.005682e0
inc esi
add edi, 0x48
jmp 0x56eb20
mov ecx, dword [esp + 0x228]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x224
ret 8