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

Disassembly:
mov eax, 0xc4
call fcn.0043b180
mov eax, dword [0x4fc060]
xor eax, esp
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xd8]
push ebx
push ebp
mov ebp, dword [esp + 0xec]
push esi
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xe8]
push edi
xor ebx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x100]
mov edi, esi
lea ecx, [esp + 0x78]
shr edi, 3
push ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x70], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], 2
call fcn.004549c0
add esp, 4
cmp dword [esp + 0xdc], esi
ja 0x4a5621
push 0x1b8
push 0x4f36f4
push 0x70
push 0x7e
push 0xa
call fcn.00406850
add esp, 0x14
jmp 0x4a5e4b
cmp dword [esp + 0x1c], ebx
jne 0x4a564e
cmp esi, 0xa0
jne 0x4a5636
call fcn.0044bdb0
jmp 0x4a564a
cmp esi, 0xe0
jne 0x4a5645
call fcn.0044be10
jmp 0x4a564a
call fcn.0044be20
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
push edx
call fcn.00455890
mov ecx, dword [esp + 0x58]
add esp, 4
mov dword [esp + 0x34], eax
cmp dword [ecx + 0xc], ebx
je 0x4a5676
cmp dword [ecx + 0x10], ebx
je 0x4a5676
cmp dword [esp + 0xf0], ebx
jl 0x4a56e9
mov esi, dword [esp + 0x18]
cmp esi, ebx
jne 0x4a5684
mov esi, eax
mov dword [esp + 0x18], esi
push 0x1cb
push 0x4f36f4
push esi
call fcn.004082b0
add esp, 0xc
mov dword [esp + 0x10], eax
cmp ebp, ebx
je 0x4a56a5
mov dword [esp + 0x28], ebp
jmp 0x4a56bc
push 0x1d0
push 0x4f36f4
push esi
call fcn.004082b0
add esp, 0xc
mov dword [esp + 0x28], eax
cmp dword [esp + 0x10], ebx
je 0x4a5e4b
cmp dword [esp + 0x28], ebx
je 0x4a5e3a
mov eax, dword [esp + 0x4c]
xor ebx, ebx
cmp eax, ebx
je 0x4a56e9
push esi
push eax
mov eax, dword [esp + 0x18]
push eax
call fcn.0043bff0
add esp, 0xc
call fcn.0045f7c0
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x4a5e3a
call fcn.0048bdc0
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4a5e3a
mov esi, dword [esp + 0x14]
push esi
call fcn.0045f850
push esi
call fcn.0045f8e0
mov ebp, eax
push esi
mov dword [esp + 0x50], ebp
call fcn.0045f8e0
push esi
mov dword [esp + 0x6c], eax
call fcn.0045f8e0
push esi
mov dword [esp + 0x64], eax
call fcn.0045f8e0
push esi
mov dword [esp + 0x88], eax
call fcn.0045f8e0
push esi
mov dword [esp + 0x84], eax
call fcn.0045f8e0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0xc]
add esp, 0x1c
test eax, eax
je 0x4a579f
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x4a579f
mov ebx, dword [esp + 0xf0]
mov esi, eax
mov dword [esp + 0x2c], ecx
test ebx, ebx
js 0x4a5b80
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
call fcn.0043bff0
add esp, 0xc
jmp 0x4a5b80
push esi
call fcn.0045f8e0
push esi
mov dword [esp + 0x7c], eax
call fcn.0045f8e0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4a5e3a
mov eax, dword [esp + 0xdc]
dec eax
push eax
call fcn.0040cb40
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0040e500
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
push edx
push 0
push eax
call fcn.004a9640
inc dword [esp + 0x54]
add esp, 0xc
test eax, eax
je 0x4a5e3a
test ebp, ebp
jne 0x4a5828
mov ecx, dword [esp + 0x10]
push esi
push ecx
call fcn.004554b0
add esp, 8
test eax, eax
jle 0x4a5e3a
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
push 0
push edx
push 0
lea eax, [esp + 0x9c]
push eax
push esi
push ecx
call fcn.00454ec0
add esp, 0x18
test eax, eax
je 0x4a5e3a
cmp ebx, edi
jle 0x4a5860
mov edx, ebx
sub edx, edi
lea esi, [esp + edx + 0x90]
jmp 0x4a5867
lea esi, [esp + 0x90]
cmp ebx, edi
jge 0x4a5882
mov eax, edi
sub eax, ebx
push eax
lea ecx, [esp + ebx + 0x94]
push 0
push ecx
call fcn.0043c360
add esp, 0xc
mov edx, dword [esp + 0x2c]
or byte [esi], 0x80
or byte [esi + edi - 1], 1
push edx
push edi
push esi
call fcn.0040d230
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
xor eax, eax
test ebp, ebp
setne al
push esi
push eax
push ecx
push 0x40
push edx
call fcn.004a9aa0
add esp, 0x14
test eax, eax
jg 0x4a58f9
jne 0x4a5e3a
test ebp, ebp
je 0x4a57ea
push 0x21f
push 0x4f36f4
push 0x71
push 0x7e
push 0xa
mov dword [esp + 0x4c], 0
call fcn.00406850
add esp, 0x14
jmp 0x4a5e3a
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a5914
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.0043bff0
add esp, 0xc
push 0
push 2
push esi
call fcn.004a9640
add esp, 0xc
test eax, eax
je 0x4a5e3a
push 0
mov eax, esi
push 3
push eax
call fcn.004a9640
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0xdc]
add esi, esi
add esi, esi
xor ecx, ecx
add esi, esi
dec eax
xor edx, edx
div esi
mov dword [esp + 0x40], ecx
mov ebx, eax
mov edi, edi
test ecx, ecx
je 0x4a597c
push ecx
mov ecx, dword [esp + 0x28]
push 0
push ecx
call fcn.004a9640
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov edx, dword [esp + 0x50]
push 0
push edx
call fcn.0040d1d0
add esp, 8
xor esi, esi
test ebx, ebx
js 0x4a5a4c
mov ebp, dword [esp + 0x18]
xor edi, edi
jmp 0x4a59a0
lea eax, [ebp - 1]
test eax, eax
js 0x4a59b8
mov ecx, dword [esp + 0x10]
jmp 0x4a59b0
inc byte [eax + ecx]
jne 0x4a59b8
dec eax
jns 0x4a59b0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push 0
push eax
mov eax, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x9c]
push ecx
push edx
push eax
call fcn.00454ec0
add esp, 0x18
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push ecx
push edx
lea eax, [esp + 0x98]
push eax
call fcn.0040d230
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov eax, dword [esp + 0x44]
push edi
push eax
push eax
call fcn.0040e500
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
push ecx
push eax
push eax
call fcn.0047ed00
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov eax, dword [esp + 0x34]
add eax, eax
add eax, eax
add eax, eax
inc esi
add edi, eax
cmp esi, ebx
jle 0x4a59a0
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0x50]
dec eax
push eax
push esi
call fcn.0040d6b0
add esp, 8
test eax, eax
je 0x4a5e3a
push esi
mov esi, dword [esp + 0x74]
push esi
call fcn.0040d110
add esp, 8
test eax, eax
je 0x4a5e3a
mov edx, dword [esp + 0x20]
push edx
push esi
push esi
call fcn.0047ed00
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x44]
push eax
push ebp
call fcn.0040e3b0
add esp, 8
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x68]
push ecx
push ebp
push esi
push edi
push 0
call fcn.00489d10
add esp, 0x14
test eax, eax
je 0x4a5e3a
call fcn.0040cb40
push eax
push edi
push ebp
call fcn.0047ec30
add esp, 0xc
test eax, eax
je 0x4a5e3a
push ebp
push esi
mov esi, dword [esp + 0x7c]
push esi
call fcn.0047ec30
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov edx, dword [esp + 0x20]
push edx
push esi
call fcn.0040d550
add esp, 8
test eax, eax
js 0x4a5b31
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push edi
push 1
push eax
push 0x40
push esi
call fcn.004a9aa0
add esp, 0x14
test eax, eax
jg 0x4a5b64
jne 0x4a5e3a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xdc]
inc ecx
lea eax, [edx*4]
mov dword [esp + 0x40], ecx
cmp ecx, eax
jl 0x4a5960
cmp dword [esp + 0x4c], 0
jne 0x4a5dfc
mov edi, dword [esp + 0x60]
jmp 0x4a57e2
push 1
push 2
push edi
call fcn.004a9640
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ebx, dword [esp + 0xf0]
call fcn.0040cb40
mov edi, dword [esp + 0x20]
push eax
push esi
push edi
call fcn.0047ec30
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push edi
push 0
push ebp
call fcn.00489d10
add esp, 0x14
test eax, eax
je 0x4a5e3a
test ebx, ebx
jns 0x4a5bd3
push 2
push edi
call fcn.0040d1d0
add esp, 8
test eax, eax
je 0x4a5e3a
jmp 0x4a5bdb
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
push eax
push esi
push ecx
call fcn.0048ba30
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov edi, dword [esp + 0x5c]
lea ebx, [ebx]
test ebx, ebx
js 0x4a5ce9
mov eax, dword [esp + 0x30]
mov edx, eax
mov byte [esp + 0x92], al
mov eax, dword [esp + 0x1c]
push 0
push eax
lea ecx, [esp + 0x80]
shr edx, 8
push ecx
mov byte [esp + 0x9c], bl
mov byte [esp + 0x9d], dl
call fcn.00454a10
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00454bc0
add esp, 0xc
test eax, eax
je 0x4a5e3a
push 4
lea edx, [esp + 0x7c]
push str.ggen.cryptodsadsa_gen.c
push edx
call fcn.00454bc0
add esp, 0xc
test eax, eax
je 0x4a5e3a
push 3
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00454bc0
add esp, 0xc
test eax, eax
je 0x4a5e3a
push 0
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.00454bd0
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push edx
lea eax, [esp + 0x98]
push eax
call fcn.0040d230
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
push edx
push esi
push ebp
push eax
push edi
call fcn.0048d520
add esp, 0x18
test eax, eax
je 0x4a5e3a
cmp dword [edi + 4], 1
jne 0x4a5d59
mov ecx, dword [edi]
cmp dword [ecx], 1
jne 0x4a5d59
cmp dword [edi + 0xc], 0
jne 0x4a5d59
test ebx, ebx
jns 0x4a5d3e
call fcn.0040cb40
push eax
mov eax, dword [esp + 0x24]
push eax
push eax
call fcn.0047ed00
add esp, 0xc
test eax, eax
je 0x4a5e3a
inc dword [esp + 0x30]
test ebx, ebx
js 0x4a5ce9
cmp dword [esp + 0x30], 0xffff
jbe 0x4a5c00
jmp 0x4a5e3a
mov edx, dword [esp + 0x24]
push 1
push 3
push edx
call fcn.004a9640
add esp, 0xc
test eax, eax
je 0x4a5e3a
mov edi, dword [esp + 0x54]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x38], 1
cmp esi, eax
je 0x4a5d9e
test eax, eax
je 0x4a5d92
push eax
call fcn.0040cf30
add esp, 4
push esi
call fcn.0040da00
add esp, 4
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x2c]
cmp esi, eax
je 0x4a5dc2
test eax, eax
je 0x4a5db6
push eax
call fcn.0040cf30
add esp, 4
push esi
call fcn.0040da00
add esp, 4
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4a5dd2
push eax
call fcn.0040cf30
add esp, 4
mov eax, dword [esp + 0x5c]
push eax
call fcn.0040da00
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [edi + 0x14], eax
je 0x4a5df2
cmp dword [edi + 0x10], 0
je 0x4a5df2
test eax, eax
jne 0x4a5e1e
mov dword [esp + 0x38], 0xffffffff
jmp 0x4a5e3a
push 0x278
push 0x4f36f4
push 0x70
push 0x7e
push 0xa
mov dword [esp + 0x4c], 0
call fcn.00406850
add esp, 0x14
jmp 0x4a5e3a
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a5e2c
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a5e3a
mov edx, dword [esp + 0x30]
mov dword [eax], edx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a5e4b
push eax
call fcn.004084b0
add esp, 4
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x58], eax
je 0x4a5e5e
push eax
call fcn.004084b0
add esp, 4
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4a5e75
push esi
call fcn.0045f8a0
push esi
call fcn.0045f820
add esp, 8
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x4a5e8a
push eax
call fcn.0048b9f0
add esp, 4
lea eax, [esp + 0x68]
push eax
call fcn.00454c50
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0x2c]
add esp, 4
xor ecx, esp
call fcn.00439f9b
add esp, 0xc4
ret