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

Disassembly:
mov eax, 0xc8
call fcn.004533b0
mov eax, dword [0x5cb008]
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.0049df30
mov eax, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x508365
cmp esi, 0xa0
jne 0x50834d
call fcn.0049e060
jmp 0x508361
cmp esi, 0xe0
jne 0x50835c
call fcn.0049e070
jmp 0x508361
call fcn.0049e080
mov dword [esp + 0x1c], eax
push eax
call fcn.004b1df0
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], esi
cmp dword [eax + 0xc], ebx
je 0x50838b
cmp dword [eax + 0x10], ebx
je 0x50838b
cmp dword [esp + 0xf4], ebx
jl 0x5083eb
test ebp, ebp
push 0x1be
cmove ebp, esi
push 0x5a2960
push ebp
mov dword [esp + 0x24], ebp
call fcn.00497140
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x5083c4
push 0x1c3
push 0x5a2960
push ebp
call fcn.00497140
add esp, 0xc
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x508854
test eax, eax
je 0x508847
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5083eb
push ebp
push eax
push ebx
call fcn.00430c20
add esp, 0xc
call fcn.004b8780
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x508847
call fcn.004f00a0
mov dword [esp + 0x40], eax
test eax, eax
je 0x508847
push ebp
call fcn.004b8800
push ebp
call fcn.004b8720
push dword [esp + 0x18]
mov ebp, eax
call fcn.004b8720
push dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.004b8720
push dword [esp + 0x20]
mov dword [esp + 0x5c], eax
call fcn.004b8720
push dword [esp + 0x24]
mov dword [esp + 0x88], eax
call fcn.004b8720
push dword [esp + 0x28]
mov dword [esp + 0x7c], eax
call fcn.004b8720
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 0x5084a1
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
test eax, eax
je 0x5084a1
cmp dword [esp + 0xf4], edi
jl 0x5088d6
push dword [esp + 0x18]
push ebx
push dword [esp + 0x3c]
call fcn.00430c20
add esp, 0xc
jmp 0x5088d6
mov esi, dword [esp + 0x10]
push esi
call fcn.004b8720
push esi
mov dword [esp + 0x28], eax
call fcn.004b8720
mov dword [esp + 0x30], eax
add esp, 8
mov eax, dword [esp + 0xe0]
dec eax
mov dword [esp + 0x6c], eax
push eax
call fcn.0049a2b0
push eax
push dword [esp + 0x1c]
call fcn.004de310
add esp, 0xc
test eax, eax
je 0x508847
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.00524b30
inc dword [esp + 0x50]
add esp, 0xc
test eax, eax
je 0x508847
test esi, esi
jne 0x50852b
push dword [esp + 0x18]
push ebx
call fcn.004a1a10
add esp, 8
test eax, eax
jle 0x508847
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x28]
push ebx
call fcn.0049d9a0
add esp, 0x18
test eax, eax
je 0x508847
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x94]
cmp ecx, edi
jle 0x508567
mov eax, ecx
sub eax, edi
add esi, eax
cmp ecx, edi
jge 0x508582
mov eax, edi
sub eax, ecx
push eax
lea eax, [esp + 0x98]
add eax, ecx
push 0
push eax
call fcn.004306b0
add esp, 0xc
push dword [esp + 0x28]
or byte [esi], 0x80
or byte [esi + edi - 1], 1
push edi
push esi
call fcn.004998e0
add esp, 0xc
test eax, eax
je 0x508847
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.00524e00
add esp, 0x14
test eax, eax
jg 0x5085e5
jne 0x508847
test esi, esi
je 0x5084f4
push 0x210
push 0x5a2960
push 0x71
jmp 0x508833
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5085fb
push dword [esp + 0x18]
push ebx
push eax
call fcn.00430c20
add esp, 0xc
mov esi, dword [esp + 0x24]
push 0
push 2
push esi
call fcn.00524b30
add esp, 0xc
test eax, eax
je 0x508847
push 0
push 3
push esi
call fcn.00524b30
add esp, 0xc
test eax, eax
je 0x508847
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 0x508663
push edi
push 0
push dword [esp + 0x2c]
call fcn.00524b30
add esp, 0xc
test eax, eax
je 0x508847
push 0
push dword [esp + 0x4c]
call fcn.0049a200
add esp, 8
xor edi, edi
test esi, esi
js 0x508728
mov ecx, dword [esp + 0x18]
xor esi, esi
lea eax, [ecx - 1]
mov dword [esp + 0x68], eax
test eax, eax
js 0x50869b
nop dword [eax]
add byte [eax + ebx], 1
jne 0x50869b
sub eax, 1
jns 0x508690
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x9c]
push 0
push eax
push ecx
push ebx
call fcn.0049d9a0
add esp, 0x18
test eax, eax
je 0x508847
push ebp
push dword [esp + 0x30]
lea eax, [esp + 0x9c]
push eax
call fcn.004998e0
add esp, 0xc
test eax, eax
je 0x508847
push esi
push ebp
push ebp
call fcn.004de310
add esp, 0xc
test eax, eax
je 0x508847
mov eax, dword [esp + 0x48]
push ebp
push eax
push eax
call fcn.004b8a30
add esp, 0xc
test eax, eax
je 0x508847
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 0x508688
mov esi, dword [esp + 0x5c]
push dword [esp + 0x6c]
mov edi, dword [esp + 0x4c]
push edi
call fcn.00499f90
add esp, 8
test eax, eax
je 0x508847
push edi
mov edi, dword [esp + 0x74]
push edi
call fcn.00499de0
add esp, 8
test eax, eax
je 0x508847
push dword [esp + 0x14]
push edi
push edi
call fcn.004b8a30
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x28]
push ebp
call fcn.004de490
add esp, 8
test eax, eax
je 0x508847
push dword [esp + 0x10]
push ebp
push edi
push dword [esp + 0x6c]
push 0
call fcn.004efab0
add esp, 0x14
test eax, eax
je 0x508847
call fcn.0049a2b0
push eax
push dword [esp + 0x64]
push ebp
call fcn.004b8ac0
add esp, 0xc
test eax, eax
je 0x508847
push ebp
push edi
mov edi, dword [esp + 0x28]
push edi
call fcn.004b8ac0
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x14]
push edi
call fcn.00499a90
add esp, 8
test eax, eax
js 0x508800
mov edi, dword [esp + 0x24]
push edi
push 1
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x30]
call fcn.00524e00
add esp, 0x14
test eax, eax
jg 0x5088b9
jne 0x508847
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0xe0]
inc edi
shl eax, 2
mov dword [esp + 0x4c], edi
cmp edi, eax
jl 0x508648
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x5084f0
push 0x269
push 0x5a2960
push 0x70
push 0x7e
push 0xa
mov dword [esp + 0x4c], 0
call fcn.004a48a0
add esp, 0x14
test ebx, ebx
je 0x508854
push ebx
call fcn.00497070
add esp, 4
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x58], eax
je 0x508867
push eax
call fcn.00497070
add esp, 4
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x50887e
push ebx
call fcn.004b86b0
push ebx
call fcn.004b86f0
add esp, 8
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x508893
push eax
call fcn.004f0060
add esp, 4
lea eax, [esp + 0x6c]
push eax
call fcn.0049dcd0
mov ecx, dword [esp + 0xc8]
add esp, 4
mov eax, dword [esp + 0x28]
xor ecx, esp
call fcn.00414f82
add esp, 0xc8
ret
push 1
push 2
push edi
call fcn.00524b30
add esp, 0xc
test eax, eax
je 0x508847
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
call fcn.0049a2b0
push eax
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.004b8ac0
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push 0
push ebp
call fcn.004efab0
add esp, 0x14
test eax, eax
je 0x508847
cmp dword [esp + 0xf4], 0
jge 0x508935
push 2
push dword [esp + 0x18]
call fcn.0049a200
add esp, 8
test eax, eax
je 0x508847
jmp 0x50893e
mov eax, 1
mov dword [esp + 0x30], eax
push dword [esp + 0x10]
push dword [esp + 0x24]
push dword [esp + 0x48]
call fcn.004f0100
add esp, 0xc
test eax, eax
je 0x508847
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
test eax, eax
js 0x508a45
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.0049db10
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x18]
lea eax, [esp + 0x80]
push dword [esp + 0x38]
push eax
call fcn.0049dcc0
add esp, 0xc
test eax, eax
je 0x508847
push 4
lea eax, [esp + 0x80]
push str.ggen.cryptodsadsa_gen.c
push eax
call fcn.0049dcc0
add esp, 0xc
test eax, eax
je 0x508847
push 3
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0049dcc0
add esp, 0xc
test eax, eax
je 0x508847
push 0
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0049da70
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x14]
lea eax, [esp + 0x98]
push esi
push eax
call fcn.004998e0
add esp, 0xc
test eax, eax
je 0x508847
push dword [esp + 0x40]
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x68]
call fcn.004ee550
add esp, 0x18
test eax, eax
je 0x508847
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 4], 1
jne 0x508acd
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x508acd
cmp dword [ecx + 0xc], 0
jne 0x508acd
mov eax, dword [esp + 0xf4]
test eax, eax
jns 0x508aaf
call fcn.0049a2b0
push eax
mov eax, dword [esp + 0x18]
push eax
push eax
call fcn.004b8a30
add esp, 0xc
test eax, eax
je 0x508847
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
test eax, eax
js 0x508a45
cmp ecx, 0xffff
jbe 0x508965
jmp 0x508847
push 1
push 3
push dword [esp + 0x2c]
call fcn.00524b30
add esp, 0xc
test eax, eax
je 0x508847
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 0x508b18
test eax, eax
je 0x508b0c
push eax
call fcn.00499ef0
add esp, 4
push ebp
call fcn.00499eb0
add esp, 4
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
mov ebp, dword [esp + 0x28]
cmp ebp, eax
je 0x508b3c
test eax, eax
je 0x508b30
push eax
call fcn.00499ef0
add esp, 4
push ebp
call fcn.00499eb0
add esp, 4
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x508b4c
push eax
call fcn.00499ef0
add esp, 4
push dword [esp + 0x54]
call fcn.00499eb0
add esp, 4
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x508b8c
cmp dword [esi + 0x10], 0
je 0x508b8c
test eax, eax
je 0x508b8c
mov eax, dword [esp + 0x74]
test eax, eax
je 0x508b75
mov dword [eax], edi
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x508847
mov eax, dword [esp + 0x30]
mov dword [ecx], eax
jmp 0x508847
mov dword [esp + 0x38], 0xffffffff
jmp 0x508847