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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
mov eax, dword [0x592830]
xor eax, esp
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
push esi
mov dword [esp + 0x1c], ecx
mov esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, eax
push edi
xor edi, edi
shr ecx, 3
xorps xmm0, xmm0
mov dword [esp + 0x50], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x18], edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x6c], 2
movdqa xmmword [esp + 0x80], xmm0
movq qword [esp + 0x90], xmm0
cmp esi, eax
ja 0x4c4d04
push 0x1b8
push str.cryptodsadsa_gen.c
push 0x70
lea edx, [edi + 0x7e]
lea ecx, [edi + 0xa]
call fcn.004144f0
add esp, 0xc
jmp 0x4c54bc
test edx, edx
jne 0x4c4d2c
cmp eax, 0xa0
jne 0x4c4d16
mov edx, 0x547470
jmp 0x4c4d28
mov edx, 0x5474d8
mov ecx, 0x547308
cmp eax, 0xe0
cmovne edx, ecx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x20]
mov esi, dword [edx + 8]
mov dword [esp + 0x4c], esi
cmp dword [eax + 0xc], edi
je 0x4c4d41
cmp dword [eax + 0x10], edi
jne 0x4c4d89
push 0x1cb
mov edx, str.cryptodsadsa_gen.c
mov ecx, esi
mov dword [esp + 0x38], esi
call fcn.0042e6b0
add esp, 4
mov edi, eax
push 0x1d0
mov edx, str.cryptodsadsa_gen.c
mov ecx, esi
mov dword [esp + 0x1c], edi
call fcn.0042e6b0
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
test edi, edi
je 0x4c53f5
test esi, esi
je 0x4c53c4
call fcn.00456160
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x4c53c0
call fcn.0048e740
mov dword [esp + 0x48], eax
test eax, eax
je 0x4c53c0
mov ecx, esi
call fcn.004562c0
mov ecx, esi
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x38], esi
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
call fcn.00456350
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
je 0x4c4e20
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x4c51e3
mov ecx, dword [esp + 0x1c]
call fcn.00456350
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.00456350
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4c53c0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
dec eax
push eax
mov edx, 0x545c84
mov dword [esp + 0x80], eax
call fcn.00486520
add esp, 4
test eax, eax
je 0x4c53c0
mov esi, dword [esp + 0x30]
lea esp, [esp]
test esi, esi
je 0x4c4ea6
mov eax, dword [esi]
dec eax
je 0x4c4e91
dec eax
je 0x4c4e80
xor eax, eax
jmp 0x4c4eab
mov eax, dword [esi + 8]
push esi
push dword [esp + 0x48]
push 0
call eax
add esp, 0xc
jmp 0x4c4eab
mov eax, dword [esi + 8]
test eax, eax
je 0x4c4ea6
push dword [esi + 4]
push dword [esp + 0x48]
push 0
call eax
add esp, 0xc
mov eax, 1
inc dword [esp + 0x44]
test eax, eax
je 0x4c53c0
mov esi, dword [esp + 0x34]
mov edx, esi
mov ecx, edi
call fcn.00412f00
test eax, eax
jle 0x4c53c0
push ecx
push dword [esp + 0x40]
lea eax, [esp + 0xb0]
push 0
push eax
mov edx, esi
mov ecx, edi
call fcn.00424440
add esp, 0x10
test eax, eax
je 0x4c53c0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x64]
lea esi, [esp + 0xa8]
cmp ecx, edx
jle 0x4c4f0a
mov eax, ecx
sub eax, edx
add esi, eax
cmp ecx, edx
jge 0x4c4f29
mov eax, edx
sub eax, ecx
push eax
lea eax, [esp + 0xac]
add eax, ecx
push 0
push eax
call fcn.004f2670
mov edx, dword [esp + 0x70]
add esp, 0xc
or byte [esi], 0x80
push dword [esp + 0x2c]
or byte [esi + edx - 1], 1
mov ecx, esi
call fcn.0041dfe0
add esp, 4
test eax, eax
je 0x4c53c0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push esi
push 0
push dword [esp + 0x24]
mov edx, 0x40
call fcn.004c1e20
add esp, 0xc
test eax, eax
jg 0x4c4f72
je 0x4c4e70
jmp 0x4c53c0
push 0
mov edx, 2
mov ecx, esi
call fcn.004c1b40
add esp, 4
test eax, eax
je 0x4c53c0
push 0
mov edx, 3
mov ecx, esi
call fcn.004c1b40
add esp, 4
test eax, eax
je 0x4c53c0
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
shl esi, 3
xor ecx, ecx
dec eax
xor edx, edx
div esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x4c4fdd
push ecx
mov ecx, dword [esp + 0x34]
xor edx, edx
call fcn.004c1b40
add esp, 4
test eax, eax
je 0x4c53bc
mov esi, dword [esp + 0x54]
cmp dword [esi + 8], 1
jl 0x4c4feb
mov eax, esi
jmp 0x4c4ff7
mov edx, 1
mov ecx, esi
call fcn.0041de20
test eax, eax
je 0x4c5011
mov eax, dword [esi]
mov dword [esi + 0xc], 0
mov dword [eax], 0
mov dword [esi + 4], 0
xor edi, edi
cmp dword [esp + 0x68], edi
jl 0x4c50ca
mov edx, dword [esp + 0x34]
xor esi, esi
lea eax, [edx - 1]
mov dword [esp + 0x78], eax
lea ebx, [ebx]
mov ecx, dword [esp + 0x18]
test eax, eax
js 0x4c5040
inc byte [eax + ecx]
jne 0x4c5040
dec eax
jns 0x4c5038
push ecx
push dword [esp + 0x40]
lea eax, [esp + 0xb0]
push 0
push eax
call fcn.00424440
add esp, 0x10
test eax, eax
je 0x4c53bc
push dword [esp + 0x38]
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0xac]
call fcn.0041dfe0
add esp, 4
test eax, eax
je 0x4c53bc
mov edx, dword [esp + 0x38]
push esi
mov ecx, edx
call fcn.00486520
add esp, 4
test eax, eax
je 0x4c53bc
push dword [esp + 0x38]
mov eax, dword [esp + 0x58]
push eax
push eax
call fcn.00463a70
add esp, 0xc
test eax, eax
je 0x4c53bc
add esi, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x34]
inc edi
cmp edi, dword [esp + 0x68]
jle 0x4c5030
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.0041e450
test eax, eax
je 0x4c53bc
mov edi, dword [esp + 0x74]
mov edx, esi
mov ecx, edi
call fcn.0041ded0
test eax, eax
je 0x4c53bc
push dword [esp + 0x24]
push edi
push edi
call fcn.00463a70
add esp, 0xc
test eax, eax
je 0x4c53bc
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.00486380
test eax, eax
je 0x4c53bc
push dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
push esi
push edi
xor ecx, ecx
call fcn.0049d2d0
add esp, 0xc
test eax, eax
je 0x4c53bc
push 0x545c84
push dword [esp + 0x64]
push esi
call fcn.00463d50
add esp, 0xc
test eax, eax
je 0x4c53bc
push esi
push edi
mov edi, dword [esp + 0x30]
push edi
call fcn.00463d50
add esp, 0xc
test eax, eax
je 0x4c53bc
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0041e2e0
test eax, eax
js 0x4c51a1
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push edi
push 1
push dword [esp + 0x24]
mov edx, 0x40
call fcn.004c1e20
add esp, 0xc
test eax, eax
jg 0x4c51c2
jne 0x4c53bc
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
inc ecx
shl eax, 2
mov dword [esp + 0x5c], ecx
cmp ecx, eax
jl 0x4c4fc2
mov edi, dword [esp + 0x18]
jmp 0x4c4e68
push 1
mov edx, 2
mov ecx, edi
call fcn.004c1b40
mov edi, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x4c53c0
mov eax, dword [esp + 0x28]
push 0x545c84
push eax
push dword [esp + 0x2c]
call fcn.00463d50
add esp, 0xc
test eax, eax
je 0x4c53c0
push dword [esp + 0x1c]
xor edx, edx
push dword [esp + 0x30]
mov ecx, esi
push dword [esp + 0x2c]
call fcn.0049d2d0
add esp, 0xc
test eax, eax
je 0x4c53c0
mov ecx, dword [esp + 0x24]
mov edx, 2
call fcn.0041df90
test eax, eax
je 0x4c53c0
push dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
call fcn.0048e870
add esp, 4
test eax, eax
je 0x4c53c0
nop
push dword [esp + 0x48]
push dword [esp + 0x20]
push dword [esp + 0x30]
push esi
push dword [esp + 0x34]
push dword [esp + 0x54]
call fcn.0048ce80
add esp, 0x18
test eax, eax
je 0x4c53c0
mov ecx, dword [esp + 0x40]
cmp dword [ecx + 4], 1
jne 0x4c52ad
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x4c52ad
cmp dword [ecx + 0xc], 0
jne 0x4c52ad
mov eax, dword [esp + 0x24]
push 0x545c84
push eax
push eax
call fcn.00463a70
add esp, 0xc
test eax, eax
je 0x4c53c0
inc dword [esp + 0x6c]
jmp 0x4c5250
mov ecx, dword [esp + 0x30]
push 1
mov edx, 3
call fcn.004c1b40
add esp, 4
test eax, eax
je 0x4c53c0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x58], 1
jmp 0x4c52e0
cmp esi, ecx
je 0x4c531f
test ecx, ecx
je 0x4c52f1
call fcn.0041dbc0
mov eax, dword [esp + 0x20]
test esi, esi
je 0x4c531c
call fcn.0041dc50
mov esi, eax
test esi, esi
je 0x4c5316
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.0041ded0
test eax, eax
jne 0x4c5318
mov ecx, esi
call fcn.0041dbc0
xor esi, esi
mov eax, dword [esp + 0x20]
mov dword [eax + 0xc], esi
mov ecx, dword [eax + 0x10]
mov esi, dword [esp + 0x2c]
cmp esi, ecx
je 0x4c5365
test ecx, ecx
je 0x4c5337
call fcn.0041dbc0
mov eax, dword [esp + 0x20]
test esi, esi
je 0x4c5362
call fcn.0041dc50
mov esi, eax
test esi, esi
je 0x4c535c
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.0041ded0
test eax, eax
jne 0x4c535e
mov ecx, esi
call fcn.0041dbc0
xor esi, esi
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], esi
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4c5371
call fcn.0041dbc0
cmp dword [esp + 0x40], 0
je 0x4c5399
call fcn.0041dc50
mov esi, eax
test esi, esi
je 0x4c5399
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.0041ded0
test eax, eax
jne 0x4c539b
mov ecx, esi
call fcn.0041dbc0
xor esi, esi
mov eax, dword [esp + 0x20]
cmp dword [eax + 0xc], 0
mov dword [eax + 0x14], esi
je 0x4c53b2
cmp dword [eax + 0x10], 0
je 0x4c53b2
test esi, esi
jne 0x4c53c0
mov dword [esp + 0x58], 0xffffffff
jmp 0x4c53c0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test edi, edi
je 0x4c53f5
mov eax, dword [0x59fb4c]
test eax, eax
je 0x4c53d9
push 0
push edi
call eax
add esp, 8
push edi
call dword [0x594128]
mov eax, dword [0x59fb4c]
add esp, 4
test eax, eax
je 0x4c53fa
push 1
push 0
call eax
add esp, 8
mov eax, dword [0x59fb4c]
test esi, esi
je 0x4c5426
test eax, eax
je 0x4c540a
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x594128]
mov eax, dword [0x59fb4c]
add esp, 4
test eax, eax
je 0x4c5426
push 1
push 0
call eax
add esp, 8
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x4c5468
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4c543b
dec eax
mov dword [edi + 0x24], eax
jmp 0x4c5461
dec dword [edi + 0x18]
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x20]
mov esi, dword [eax + ecx*4]
cmp esi, edx
jae 0x4c5457
sub edx, esi
mov ecx, edi
call fcn.00456620
mov dword [edi + 0x20], esi
mov dword [edi + 0x28], 0
mov ecx, edi
call fcn.00456240
mov esi, dword [esp + 0x48]
test esi, esi
je 0x4c54bc
lea ecx, [esi + 4]
call fcn.0041db10
lea ecx, [esi + 0x18]
call fcn.0041db10
lea ecx, [esi + 0x2c]
call fcn.0041db10
test byte [esi + 0x48], 1
je 0x4c54bc
mov eax, dword [0x59fb4c]
test eax, eax
je 0x4c549f
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x594128]
mov ecx, dword [0x59fb4c]
add esp, 4
test ecx, ecx
je 0x4c54bc
push 1
push 0
call ecx
add esp, 8
lea ecx, [esp + 0x80]
call fcn.00424520
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x58]
pop edi
pop esi
xor ecx, esp
call fcn.004ebb9e
mov esp, ebp
pop ebp
ret