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

Disassembly:
mov eax, 0xc8
call fcn.00587620
mov eax, dword [0x65b9c4]
xor eax, esp
mov dword [esp + 0xc4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x78], eax
xor ebx, ebx
mov eax, dword [esp + 0x104]
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0xe4]
mov eax, esi
shr eax, 3
mov dword [esp + 0x64], eax
mov eax, 2
mov dword [esp + 0x30], eax
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x54], ecx
xor edi, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x14], ebx
call fcn.004f5250
mov eax, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x56f4d5
cmp esi, 0xa0
jne 0x56f4bd
call fcn.004f5360
jmp 0x56f4d1
cmp esi, 0xe0
jne 0x56f4cc
call fcn.004f5370
jmp 0x56f4d1
call fcn.004f5380
mov dword [esp + 0x1c], eax
push eax
call fcn.004fe630
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], esi
cmp dword [eax + 0xc], ebx
je 0x56f4fb
cmp dword [eax + 0x10], ebx
je 0x56f4fb
cmp dword [esp + 0xf4], ebx
jl 0x56f55b
test ebp, ebp
push 0x1bb
cmove ebp, esi
push 0x61abd0
push ebp
mov dword [esp + 0x24], ebp
call fcn.004d23e0
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x56f534
push 0x1c0
push 0x61abd0
push ebp
call fcn.004d23e0
add esp, 0xc
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x56f9c4
test eax, eax
je 0x56f9b7
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x56f55b
push ebp
push eax
push ebx
call fcn.0059f6d0
add esp, 0xc
call fcn.00512ad0
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x56f9b7
call fcn.00535e50
mov dword [esp + 0x40], eax
test eax, eax
je 0x56f9b7
push ebp
call fcn.00512b50
push ebp
call fcn.00512a70
push dword [esp + 0x18]
mov ebp, eax
call fcn.00512a70
push dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.00512a70
push dword [esp + 0x20]
mov dword [esp + 0x5c], eax
call fcn.00512a70
push dword [esp + 0x24]
mov dword [esp + 0x88], eax
call fcn.00512a70
push dword [esp + 0x28]
mov dword [esp + 0x7c], eax
call fcn.00512a70
mov ecx, dword [esp + 0x6c]
add esp, 0x1c
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x20], eax
test eax, eax
je 0x56f611
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
test eax, eax
je 0x56f611
cmp dword [esp + 0xf4], edi
jl 0x56fa46
push dword [esp + 0x18]
push ebx
push dword [esp + 0x3c]
call fcn.0059f6d0
add esp, 0xc
jmp 0x56fa46
mov esi, dword [esp + 0x10]
push esi
call fcn.00512a70
push esi
mov dword [esp + 0x28], eax
call fcn.00512a70
mov dword [esp + 0x30], eax
add esp, 8
mov eax, dword [esp + 0xe0]
dec eax
mov dword [esp + 0x6c], eax
push eax
call fcn.004d4cd0
push eax
push dword [esp + 0x1c]
call fcn.00526080
add esp, 0xc
test eax, eax
je 0x56f9b7
mov esi, dword [esp + 0x3c]
nop word [eax + eax]
mov edi, dword [esp + 0x64]
push dword [esp + 0x44]
push 0
push dword [esp + 0x2c]
call fcn.0056cf20
inc dword [esp + 0x50]
add esp, 0xc
test eax, eax
je 0x56f9b7
test esi, esi
jne 0x56f69b
push dword [esp + 0x18]
push ebx
call fcn.004e8fd0
add esp, 8
test eax, eax
js 0x56f9b7
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x28]
push ebx
call fcn.004f4cc0
add esp, 0x18
test eax, eax
je 0x56f9b7
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x94]
cmp ecx, edi
jle 0x56f6d7
mov eax, ecx
sub eax, edi
add esi, eax
cmp ecx, edi
jge 0x56f6f2
mov eax, edi
sub eax, ecx
push eax
lea eax, [esp + 0x98]
add eax, ecx
push 0
push eax
call fcn.0059f570
add esp, 0xc
push dword [esp + 0x28]
or byte [esi], 0x80
or byte [esi + edi - 1], 1
push edi
push esi
call fcn.004d4360
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x24]
mov esi, dword [esp + 0x40]
xor eax, eax
test esi, esi
setne al
push eax
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x38]
call fcn.0056d1f0
add esp, 0x14
test eax, eax
jg 0x56f755
jne 0x56f9b7
test esi, esi
je 0x56f664
push 0x20d
push 0x61abd0
push 0x71
jmp 0x56f9a3
mov eax, dword [esp + 0x58]
test eax, eax
je 0x56f76b
push dword [esp + 0x18]
push ebx
push eax
call fcn.0059f6d0
add esp, 0xc
mov esi, dword [esp + 0x24]
push 0
push 2
push esi
call fcn.0056cf20
add esp, 0xc
test eax, eax
je 0x56f9b7
push 0
push 3
push esi
call fcn.0056cf20
add esp, 0xc
test eax, eax
je 0x56f9b7
mov ecx, dword [esp + 0x2c]
xor edi, edi
mov eax, dword [esp + 0xe0]
xor edx, edx
shl ecx, 3
dec eax
div ecx
mov dword [esp + 0x4c], edi
mov esi, eax
mov dword [esp + 0x5c], esi
test edi, edi
je 0x56f7d3
push edi
push 0
push dword [esp + 0x2c]
call fcn.0056cf20
add esp, 0xc
test eax, eax
je 0x56f9b7
push 0
push dword [esp + 0x4c]
call fcn.004d4c20
add esp, 8
xor edi, edi
test esi, esi
js 0x56f898
mov ecx, dword [esp + 0x18]
xor esi, esi
lea eax, [ecx - 1]
mov dword [esp + 0x68], eax
test eax, eax
js 0x56f80b
nop dword [eax]
add byte [eax + ebx], 1
jne 0x56f80b
sub eax, 1
jns 0x56f800
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x9c]
push 0
push eax
push ecx
push ebx
call fcn.004f4cc0
add esp, 0x18
test eax, eax
je 0x56f9b7
push ebp
push dword [esp + 0x30]
lea eax, [esp + 0x9c]
push eax
call fcn.004d4360
add esp, 0xc
test eax, eax
je 0x56f9b7
push esi
push ebp
push ebp
call fcn.00526080
add esp, 0xc
test eax, eax
je 0x56f9b7
mov eax, dword [esp + 0x48]
push ebp
push eax
push eax
call fcn.0053a2e0
add esp, 0xc
test eax, eax
je 0x56f9b7
mov ecx, dword [esp + 0x2c]
inc edi
lea eax, [ecx*8]
mov ecx, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x68]
cmp edi, dword [esp + 0x5c]
jle 0x56f7f8
mov esi, dword [esp + 0x5c]
push dword [esp + 0x6c]
mov edi, dword [esp + 0x4c]
push edi
call fcn.004d49c0
add esp, 8
test eax, eax
je 0x56f9b7
push edi
mov edi, dword [esp + 0x74]
push edi
call fcn.004d4810
add esp, 8
test eax, eax
je 0x56f9b7
push dword [esp + 0x14]
push edi
push edi
call fcn.0053a2e0
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x28]
push ebp
call fcn.00526200
add esp, 8
test eax, eax
je 0x56f9b7
push dword [esp + 0x10]
push ebp
push edi
push dword [esp + 0x6c]
push 0
call fcn.00567420
add esp, 0x14
test eax, eax
je 0x56f9b7
call fcn.004d4cd0
push eax
push dword [esp + 0x64]
push ebp
call fcn.0053a370
add esp, 0xc
test eax, eax
je 0x56f9b7
push ebp
push edi
mov edi, dword [esp + 0x28]
push edi
call fcn.0053a370
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x14]
push edi
call fcn.004d4500
add esp, 8
test eax, eax
js 0x56f970
mov edi, dword [esp + 0x24]
push edi
push 1
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x30]
call fcn.0056d1f0
add esp, 0x14
test eax, eax
jg 0x56fa29
jne 0x56f9b7
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0xe0]
inc edi
shl eax, 2
mov dword [esp + 0x4c], edi
cmp edi, eax
jl 0x56f7b8
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x56f660
push 0x266
push 0x61abd0
push 0x70
push 0x7e
push 0xa
mov dword [esp + 0x4c], 0
call fcn.004eba40
add esp, 0x14
test ebx, ebx
je 0x56f9c4
push ebx
call fcn.004d2360
add esp, 4
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x58], eax
je 0x56f9d7
push eax
call fcn.004d2360
add esp, 4
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x56f9ee
push ebx
call fcn.00512a00
push ebx
call fcn.00512a40
add esp, 8
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x56fa03
push eax
call fcn.00535e10
add esp, 4
lea eax, [esp + 0x6c]
push eax
call fcn.004f4ff0
mov ecx, dword [esp + 0xc8]
add esp, 4
mov eax, dword [esp + 0x28]
xor ecx, esp
call fcn.0058651a
add esp, 0xc8
ret
push 1
push 2
push edi
call fcn.0056cf20
add esp, 0xc
test eax, eax
je 0x56f9b7
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
call fcn.004d4cd0
push eax
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.0053a370
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push 0
push ebp
call fcn.00567420
add esp, 0x14
test eax, eax
je 0x56f9b7
cmp dword [esp + 0xf4], 0
jge 0x56faa5
push 2
push dword [esp + 0x18]
call fcn.004d4c20
add esp, 8
test eax, eax
je 0x56f9b7
jmp 0x56faae
mov eax, 1
mov dword [esp + 0x30], eax
push dword [esp + 0x10]
push dword [esp + 0x24]
push dword [esp + 0x48]
call fcn.00535eb0
add esp, 0xc
test eax, eax
je 0x56f9b7
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
test eax, eax
js 0x56fbb5
mov byte [esp + 0x94], al
mov eax, ecx
shr eax, 8
push 0
push dword [esp + 0x20]
mov byte [esp + 0x9d], al
lea eax, [esp + 0x84]
push eax
mov byte [esp + 0xa2], cl
call fcn.004f4e30
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x18]
lea eax, [esp + 0x80]
push dword [esp + 0x38]
push eax
call fcn.004f4fe0
add esp, 0xc
test eax, eax
je 0x56f9b7
push 4
lea eax, [esp + 0x80]
push str.ggen.cryptodsadsa_gen.c
push eax
call fcn.004f4fe0
add esp, 0xc
test eax, eax
je 0x56f9b7
push 3
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.004f4fe0
add esp, 0xc
test eax, eax
je 0x56f9b7
push 0
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.004f4d90
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x14]
lea eax, [esp + 0x98]
push esi
push eax
call fcn.004d4360
add esp, 0xc
test eax, eax
je 0x56f9b7
push dword [esp + 0x40]
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x68]
call fcn.00544510
add esp, 0x18
test eax, eax
je 0x56f9b7
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 4], 1
jne 0x56fc3d
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x56fc3d
cmp dword [ecx + 0xc], 0
jne 0x56fc3d
mov eax, dword [esp + 0xf4]
test eax, eax
jns 0x56fc1f
call fcn.004d4cd0
push eax
mov eax, dword [esp + 0x18]
push eax
push eax
call fcn.0053a2e0
add esp, 0xc
test eax, eax
je 0x56f9b7
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
test eax, eax
js 0x56fbb5
cmp ecx, 0xffff
jbe 0x56fad5
jmp 0x56f9b7
push 1
push 3
push dword [esp + 0x2c]
call fcn.0056cf20
add esp, 0xc
test eax, eax
je 0x56f9b7
mov dword [esp + 0x38], 1
nop dword [eax]
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x20]
mov eax, dword [esi + 0xc]
cmp ebp, eax
je 0x56fc88
test eax, eax
je 0x56fc7c
push eax
call fcn.004d4920
add esp, 4
push ebp
call fcn.004d48e0
add esp, 4
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
mov ebp, dword [esp + 0x28]
cmp ebp, eax
je 0x56fcac
test eax, eax
je 0x56fca0
push eax
call fcn.004d4920
add esp, 4
push ebp
call fcn.004d48e0
add esp, 4
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x56fcbc
push eax
call fcn.004d4920
add esp, 4
push dword [esp + 0x54]
call fcn.004d48e0
add esp, 4
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x56fcfc
cmp dword [esi + 0x10], 0
je 0x56fcfc
test eax, eax
je 0x56fcfc
mov eax, dword [esp + 0x74]
test eax, eax
je 0x56fce5
mov dword [eax], edi
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x56f9b7
mov eax, dword [esp + 0x30]
mov dword [ecx], eax
jmp 0x56f9b7
mov dword [esp + 0x38], 0xffffffff
jmp 0x56f9b7