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

Disassembly:
mov eax, 0xc0
call fcn.004c3410
mov eax, dword [0x5f4760]
xor eax, esp
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
push ebx
push ebp
mov ebp, dword [esp + 0xe8]
push esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xf0]
push edi
xor ebx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xfc]
mov edi, esi
lea eax, [esp + 0x74]
shr edi, 3
push eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x70], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], 2
call fcn.004de710
add esp, 4
cmp dword [esp + 0x18], ebx
jne 0x5410dd
cmp esi, 0xa0
jne 0x5410c5
call fcn.004df100
jmp 0x5410d9
cmp esi, 0xe0
jne 0x5410d4
call fcn.004df160
jmp 0x5410d9
call fcn.004df170
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004df260
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x30], eax
cmp dword [ecx + 0xc], ebx
je 0x541105
cmp dword [ecx + 0x10], ebx
je 0x541105
cmp dword [esp + 0xec], ebx
jl 0x54117e
mov esi, dword [esp + 0xe8]
cmp esi, ebx
jne 0x541119
mov esi, eax
mov dword [esp + 0xe8], esi
push 0x1be
push 0x5bb40c
push esi
call fcn.004c5d80
add esp, 0xc
mov dword [esp + 0x10], eax
cmp ebp, ebx
je 0x54113a
mov dword [esp + 0x2c], ebp
jmp 0x541151
push 0x1c3
push 0x5bb40c
push esi
call fcn.004c5d80
add esp, 0xc
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x10], ebx
je 0x5418d2
cmp dword [esp + 0x2c], ebx
je 0x5418c1
mov eax, dword [esp + 0x50]
xor ebx, ebx
cmp eax, ebx
je 0x54117e
mov edx, dword [esp + 0x10]
push esi
push eax
push edx
call fcn.004ad550
add esp, 0xc
call fcn.004f34c0
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x5418c1
call fcn.004f3c80
mov dword [esp + 0x40], eax
test eax, eax
je 0x5418c1
mov esi, dword [esp + 0x14]
push esi
call fcn.004f3550
push esi
call fcn.004f35e0
mov ebp, eax
push esi
mov dword [esp + 0x44], ebp
call fcn.004f35e0
push esi
mov dword [esp + 0x64], eax
call fcn.004f35e0
push esi
mov dword [esp + 0x60], eax
call fcn.004f35e0
push esi
mov dword [esp + 0x7c], eax
call fcn.004f35e0
push esi
mov dword [esp + 0x78], eax
call fcn.004f35e0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 0xc]
add esp, 0x1c
test eax, eax
je 0x541231
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x541231
mov ebx, dword [esp + 0xec]
mov esi, eax
mov dword [esp + 0x28], ecx
test ebx, ebx
jl 0x541616
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
call fcn.004ad550
add esp, 0xc
jmp 0x541616
push esi
call fcn.004f35e0
push esi
mov dword [esp + 0x78], eax
call fcn.004f35e0
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0xd8]
dec eax
push eax
call fcn.004c9580
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.004eb830
add esp, 0xc
test eax, eax
je 0x5418c1
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0xe8]
push ecx
push 0
push edx
call fcn.00549420
inc dword [esp + 0x50]
add esp, 0xc
test eax, eax
je 0x5418c1
test ebp, ebp
jne 0x5412bd
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.004c6870
add esp, 8
test eax, eax
jle 0x5418c1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0
push ecx
push 0
lea edx, [esp + 0x98]
push edx
push esi
push eax
call fcn.004dec10
add esp, 0x18
test eax, eax
je 0x5418c1
cmp ebx, edi
jle 0x5412f5
mov ecx, ebx
sub ecx, edi
lea esi, [esp + ecx + 0x8c]
jmp 0x5412fc
lea esi, [esp + 0x8c]
cmp ebx, edi
jge 0x541317
mov edx, edi
sub edx, ebx
push edx
lea eax, [esp + ebx + 0x90]
push 0
push eax
call fcn.004add60
add esp, 0xc
mov ecx, dword [esp + 0x28]
or byte [esi], 0x80
or byte [esi + edi - 1], 1
push ecx
push edi
push esi
call fcn.004c99b0
add esp, 0xc
test eax, eax
je 0x5418c1
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
xor edx, edx
test ebp, ebp
setne dl
push esi
push edx
push eax
push 0x32
push ecx
call fcn.00549880
add esp, 0x14
test eax, eax
jg 0x54138e
jne 0x5418c1
test ebp, ebp
je 0x54127c
push 0x212
push 0x5bb40c
push 0x71
push 0x7e
push 0xa
mov dword [esp + 0x48], 0
call fcn.004c7820
add esp, 0x14
jmp 0x5418c1
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5413ac
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x10]
push edx
push ecx
push eax
call fcn.004ad550
add esp, 0xc
push 0
push 2
push esi
call fcn.00549420
add esp, 0xc
test eax, eax
je 0x5418c1
push 0
mov edx, esi
push 3
push edx
call fcn.00549420
add esp, 0xc
test eax, eax
je 0x5418c1
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0xd8]
add esi, esi
add esi, esi
xor ecx, ecx
add esi, esi
dec eax
xor edx, edx
div esi
mov dword [esp + 0x3c], ecx
mov ebx, eax
test ecx, ecx
je 0x541412
mov eax, dword [esp + 0x24]
push ecx
push 0
push eax
call fcn.00549420
add esp, 0xc
test eax, eax
je 0x5418c1
mov ecx, dword [esp + 0x4c]
push 0
push ecx
call fcn.004c9950
add esp, 8
xor esi, esi
test ebx, ebx
jl 0x5414e2
mov ebp, dword [esp + 0xe8]
dec ebp
xor edi, edi
mov eax, ebp
test eax, eax
jl 0x54144b
mov ecx, dword [esp + 0x10]
nop
add byte [eax + ecx], 1
jne 0x54144b
sub eax, 1
jns 0x541440
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xe8]
push 0
push edx
mov edx, dword [esp + 0x18]
push 0
lea eax, [esp + 0x98]
push eax
push ecx
push edx
call fcn.004dec10
add esp, 0x18
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x94]
push edx
call fcn.004c99b0
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x38]
push edi
push eax
push eax
call fcn.004eb830
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x50]
push eax
push eax
call fcn.0051a2d0
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x30]
add eax, eax
add eax, eax
add eax, eax
inc esi
add edi, eax
cmp esi, ebx
jle 0x541435
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0x4c]
dec eax
push eax
push esi
call fcn.004c9ce0
add esp, 8
test eax, eax
je 0x5418c1
push esi
mov esi, dword [esp + 0x68]
push esi
call fcn.004c98a0
add esp, 8
test eax, eax
je 0x5418c1
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push esi
call fcn.0051a2d0
add esp, 0xc
test eax, eax
je 0x5418c1
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
push edx
push ebp
call fcn.004eb6e0
add esp, 8
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x5c]
push eax
push ebp
push esi
push edi
push 0
call fcn.00517b10
add esp, 0x14
test eax, eax
je 0x5418c1
call fcn.004c9580
push eax
push edi
push ebp
call fcn.0051a200
add esp, 0xc
test eax, eax
je 0x5418c1
push ebp
push esi
mov esi, dword [esp + 0x78]
push esi
call fcn.0051a200
add esp, 0xc
test eax, eax
je 0x5418c1
mov ecx, dword [esp + 0x1c]
push ecx
push esi
call fcn.004c9b70
add esp, 8
test eax, eax
jl 0x5415c7
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
push edi
push 1
push edx
push 0x32
push esi
call fcn.00549880
add esp, 0x14
test eax, eax
jg 0x5415fa
jne 0x5418c1
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xd8]
inc ecx
lea edx, [eax*4]
cmp ecx, edx
mov dword [esp + 0x3c], ecx
jl 0x5413f6
cmp dword [esp + 0x50], 0
jne 0x541883
mov edi, dword [esp + 0x6c]
jmp 0x541274
push 1
push 2
push edi
call fcn.00549420
add esp, 0xc
test eax, eax
je 0x5418c1
mov ebx, dword [esp + 0xec]
call fcn.004c9580
mov edi, dword [esp + 0x1c]
push eax
push esi
push edi
call fcn.0051a200
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push edi
push 0
push ebp
call fcn.00517b10
add esp, 0x14
test eax, eax
je 0x5418c1
test ebx, ebx
jge 0x541669
push 2
push edi
call fcn.004c9950
add esp, 8
test eax, eax
je 0x5418c1
jmp 0x541671
mov dword [esp + 0x20], 1
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push edx
push esi
push eax
call fcn.004f38a0
add esp, 0xc
test eax, eax
je 0x5418c1
mov edi, dword [esp + 0x54]
test ebx, ebx
jl 0x541770
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, eax
push 0
mov byte [esp + 0x92], al
push edx
lea eax, [esp + 0x7c]
shr ecx, 8
push eax
mov byte [esp + 0x98], bl
mov byte [esp + 0x99], cl
call fcn.004de760
add esp, 0xc
test eax, eax
je 0x5418c1
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x2c]
push ecx
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.004de910
add esp, 0xc
test eax, eax
je 0x5418c1
push 4
lea ecx, [esp + 0x78]
push str.ggen.cryptodsadsa_gen.c
push ecx
call fcn.004de910
add esp, 0xc
test eax, eax
je 0x5418c1
push 3
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.004de910
add esp, 0xc
test eax, eax
je 0x5418c1
push 0
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.004de920
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x94]
push edx
call fcn.004c99b0
add esp, 0xc
test eax, eax
je 0x5418c1
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push esi
push ebp
push edx
push edi
call fcn.00537bf0
add esp, 0x18
test eax, eax
je 0x5418c1
cmp dword [edi + 4], 1
jne 0x5417e0
mov eax, dword [edi]
cmp dword [eax], 1
jne 0x5417e0
cmp dword [edi + 0xc], 0
jne 0x5417e0
test ebx, ebx
jge 0x5417c5
call fcn.004c9580
push eax
mov eax, dword [esp + 0x20]
push eax
push eax
call fcn.0051a2d0
add esp, 0xc
test eax, eax
je 0x5418c1
inc dword [esp + 0x20]
test ebx, ebx
jl 0x541770
cmp dword [esp + 0x20], 0xffff
jbe 0x541690
jmp 0x5418c1
mov ecx, dword [esp + 0x24]
push 1
push 3
push ecx
call fcn.00549420
add esp, 0xc
test eax, eax
je 0x5418c1
mov edi, dword [esp + 0x48]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x34], 1
cmp esi, eax
je 0x541825
test eax, eax
je 0x541819
push eax
call fcn.004c96b0
add esp, 4
push esi
call fcn.004ca010
add esp, 4
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x28]
cmp esi, eax
je 0x541849
test eax, eax
je 0x54183d
push eax
call fcn.004c96b0
add esp, 4
push esi
call fcn.004ca010
add esp, 4
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x14]
test eax, eax
je 0x541859
push eax
call fcn.004c96b0
add esp, 4
mov edx, dword [esp + 0x54]
push edx
call fcn.004ca010
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [edi + 0x14], eax
je 0x541879
cmp dword [edi + 0x10], 0
je 0x541879
test eax, eax
jne 0x5418a5
mov dword [esp + 0x34], 0xffffffff
jmp 0x5418c1
push 0x26b
push 0x5bb40c
push 0x70
push 0x7e
push 0xa
mov dword [esp + 0x48], 0
call fcn.004c7820
add esp, 0x14
jmp 0x5418c1
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5418b3
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5418c1
mov edx, dword [esp + 0x20]
mov dword [eax], edx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5418d2
push eax
call fcn.004c5f80
add esp, 4
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x58], eax
je 0x5418e5
push eax
call fcn.004c5f80
add esp, 4
mov esi, dword [esp + 0x14]
test esi, esi
je 0x5418fc
push esi
call fcn.004f35a0
push esi
call fcn.004f3520
add esp, 8
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x541911
push eax
call fcn.004f3860
add esp, 4
lea eax, [esp + 0x64]
push eax
call fcn.004de9a0
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x28]
add esp, 4
xor ecx, esp
call fcn.004a314d
add esp, 0xc0
ret