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

Disassembly:
mov eax, 0x160
call fcn.0059eec0
mov eax, dword [0x647f80]
xor eax, esp
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x164]
push ebx
push ebp
mov ebp, dword [esp + 0x174]
xor ebx, ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], ebx
push esi
mov esi, dword [esp + 0x17c]
mov dword [esp + 0xc], esi
push edi
mov edi, dword [esp + 0x178]
cmp ebp, 0x200
jge 0x55ca90
xor esi, esi
call fcn.00499720
push str.rsa_keygen
push 0x5e
push str.crypto_rsa_rsa_gen.c
call fcn.004997d0
push esi
push 0x78
jmp 0x55d27b
cmp esi, 2
jl 0x55d25d
push ebp
call fcn.00512350
add esp, 4
cmp esi, eax
jg 0x55d25d
call fcn.00502a80
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x55d232
push esi
call fcn.00502b60
push esi
call fcn.00502910
push esi
mov dword [esp + 0x38], eax
call fcn.00502910
push esi
mov dword [esp + 0x30], eax
call fcn.00502910
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
je 0x55d232
xor edx, edx
mov eax, ebp
div dword [esp + 0x10]
xor edx, edx
xor ecx, ecx
mov esi, eax
mov eax, ebp
mov ebp, dword [esp + 0x10]
div ebp
movd xmm0, esi
pshufd xmm3, xmm0, 0
movd xmm0, edx
pshufd xmm5, xmm0, 0
cmp ebp, 0x10
jb 0x55cbf4
movaps xmm2, xmmword [0x5cb220]
lea ebx, [esp + 0x48]
movaps xmm4, xmmword [0x5cdbb0]
and ebp, 0xfffffff0
paddd xmm2, xmm3
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
movaps xmm1, xmm5
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [ebx + ecx*4], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x58], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x68], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm0, xmm1
movups xmmword [esp + ecx*4 + 0x78], xmm0
add ecx, 0x10
cmp ecx, ebp
jl 0x55cb40
mov ebp, dword [esp + 0x10]
mov ebx, 0
cmp ecx, ebp
jge 0x55cc06
lea eax, [esi + 1]
cmp ecx, edx
jl 0x55cbfd
mov eax, esi
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, ebp
jl 0x55cbf4
inc dword [edi + 0x7c]
cmp dword [edi + 0x14], 0
jne 0x55cc1f
call fcn.004b5290
mov dword [edi + 0x14], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x1c], 0
jne 0x55cc35
call fcn.004b5440
mov dword [edi + 0x1c], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x18], 0
jne 0x55cc4b
call fcn.004b5290
mov dword [edi + 0x18], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x20], 0
jne 0x55cc61
call fcn.004b5440
mov dword [edi + 0x20], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x24], 0
jne 0x55cc77
call fcn.004b5440
mov dword [edi + 0x24], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x28], 0
jne 0x55cc8d
call fcn.004b5440
mov dword [edi + 0x28], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x2c], 0
jne 0x55cca3
call fcn.004b5440
mov dword [edi + 0x2c], eax
test eax, eax
je 0x55d232
cmp dword [edi + 0x30], 0
jne 0x55ccb9
call fcn.004b5440
mov dword [edi + 0x30], eax
test eax, eax
je 0x55d232
cmp ebp, 2
jle 0x55cd24
lea eax, [ebp - 2]
mov dword [edi + 8], 1
push eax
push 0
call fcn.00495340
mov ebx, eax
add esp, 8
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x55d232
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x55ccf6
push 0x512390
push eax
call fcn.004953e0
add esp, 8
mov ebp, dword [esp + 0x10]
mov eax, ebx
mov esi, 2
mov dword [edi + 0x4c], eax
call fcn.005123f0
mov dword [esp + 0x28], eax
test eax, eax
je 0x55d232
push eax
push ebx
call fcn.00495440
inc esi
add esp, 8
cmp esi, ebp
jl 0x55cd04
push dword [esp + 0x24]
push dword [edi + 0x18]
call fcn.004b4e10
add esp, 8
test eax, eax
je 0x55d232
xor ebp, ebp
jmp 0x55cd44
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x24], 0
test ebp, ebp
je 0x55cd6f
cmp ebp, 1
jne 0x55cd5a
mov ebx, dword [edi + 0x24]
jmp 0x55cd72
lea eax, [ebp - 2]
push eax
push ebx
call fcn.00495570
add esp, 8
mov dword [esp + 0x28], eax
mov ebx, dword [eax]
jmp 0x55cd72
mov ebx, dword [edi + 0x20]
push 4
push ebx
call fcn.004b5570
mov eax, dword [esp + ebp*4 + 0x50]
add esp, 8
mov dword [esp + 0x1c], eax
nop word [eax + eax]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], ecx
push dword [esp + 0x38]
push 0
push 0
push 0
push eax
push ebx
call fcn.00523800
add esp, 0x18
test eax, eax
je 0x55d232
xor esi, esi
cmp esi, ebp
jge 0x55cdf6
test esi, esi
jne 0x55cdc3
mov eax, dword [edi + 0x20]
jmp 0x55cddf
cmp esi, 1
jne 0x55cdcd
mov eax, dword [edi + 0x24]
jmp 0x55cddf
lea eax, [esi - 2]
push eax
push dword [esp + 0x40]
call fcn.00495570
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.004b4c40
add esp, 8
test eax, eax
je 0x55cdf0
inc esi
jmp 0x55cdb6
mov eax, dword [esp + 0x1c]
jmp 0x55cd98
call fcn.004b5660
mov esi, dword [esp + 0x18]
push eax
push ebx
push esi
call fcn.00504c20
add esp, 0xc
test eax, eax
je 0x55d232
call fcn.0049a320
push 4
push esi
call fcn.004b5570
push dword [esp + 0x1c]
push dword [edi + 0x18]
push esi
push dword [esp + 0x34]
call fcn.005258f0
add esp, 0x18
test eax, eax
je 0x55cf18
mov esi, dword [esp + 0x34]
add esi, dword [esp + ebp*4 + 0x48]
mov dword [esp + 0x34], esi
cmp ebp, 1
jne 0x55ce58
push dword [esp + 0x14]
push dword [edi + 0x24]
push dword [edi + 0x20]
jmp 0x55ce68
test ebp, ebp
je 0x55cfd0
push dword [esp + 0x14]
push ebx
push dword [edi + 0x14]
push dword [esp + 0x2c]
call fcn.00504e40
add esp, 0x10
test eax, eax
je 0x55d232
lea eax, [esi - 4]
mov esi, dword [esp + 0x18]
push eax
push dword [esp + 0x24]
push esi
call fcn.004ddfa0
add esp, 0xc
test eax, eax
je 0x55d232
push esi
call fcn.004b4fd0
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x55ceb2
cmp esi, 0xf
jbe 0x55cf80
push dword [esp + 0x30]
mov eax, dword [esp + 0x48]
push 2
push dword [esp + 0x40]
mov dword [esp + 0x40], eax
call fcn.00523770
inc dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x55d232
cmp dword [esp + 0x10], 4
jle 0x55cf04
mov eax, dword [esp + 0x1c]
cmp esi, 9
jae 0x55cef6
inc eax
inc dword [esp + 0x24]
mov dword [esp + 0x1c], eax
jmp 0x55cd90
dec eax
inc dword [esp + 0x24]
mov dword [esp + 0x1c], eax
jmp 0x55cd90
cmp dword [esp + 0x24], 4
je 0x55cf6d
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x24]
jmp 0x55cd90
call fcn.0049a0f0
mov ecx, eax
and ecx, 0xff000000
cmp ecx, 0x3000000
jne 0x55d232
and eax, 0xfff
cmp eax, 0x6c
jne 0x55d232
call fcn.0049a190
mov esi, dword [esp + 0x30]
push esi
push 2
push dword [esp + 0x40]
call fcn.00523770
inc esi
add esp, 0xc
mov dword [esp + 0x30], esi
test eax, eax
je 0x55d232
mov eax, dword [esp + 0x1c]
jmp 0x55cd90
xor ebp, ebp
mov dword [esp + 0x34], 0
mov dword [esp + 0x24], ebp
jmp 0x55cd6f
cmp ebp, 1
jle 0x55cf9f
mov eax, dword [esp + 0x28]
push dword [edi + 0x14]
push dword [eax + 0xc]
call fcn.004b4e10
add esp, 8
test eax, eax
je 0x55d232
mov esi, dword [esp + 0x20]
push esi
push dword [edi + 0x14]
call fcn.004b4e10
add esp, 8
test eax, eax
je 0x55d232
push ebp
push 3
push dword [esp + 0x40]
call fcn.00523770
add esp, 0xc
test eax, eax
je 0x55d232
jmp 0x55cfec
push 0
push 3
push dword [esp + 0x40]
call fcn.00523770
add esp, 0xc
test eax, eax
je 0x55d232
mov esi, dword [esp + 0x20]
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x55cd40
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.004b4c40
add esp, 8
test eax, eax
jns 0x55d015
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
call fcn.004b5660
push eax
push dword [edi + 0x20]
push esi
call fcn.00504c20
add esp, 0xc
test eax, eax
je 0x55d232
call fcn.004b5660
mov ebx, dword [esp + 0x18]
push eax
push dword [edi + 0x24]
push ebx
call fcn.00504c20
add esp, 0xc
test eax, eax
je 0x55d232
mov ebp, dword [esp + 0x14]
push ebp
push ebx
push esi
push dword [esp + 0x38]
call fcn.00504e40
add esp, 0x10
test eax, eax
je 0x55d232
mov ebx, dword [esp + 0x3c]
mov esi, 2
cmp dword [esp + 0x10], esi
jle 0x55d0c7
lea eax, [esi - 2]
push eax
push ebx
call fcn.00495570
mov ebp, eax
call fcn.004b5660
push eax
push dword [ebp]
push dword [ebp + 4]
call fcn.00504c20
add esp, 0x14
test eax, eax
je 0x55d232
push dword [esp + 0x14]
mov eax, dword [esp + 0x30]
push dword [ebp + 4]
push eax
push eax
call fcn.00504e40
add esp, 0x10
test eax, eax
je 0x55d232
inc esi
cmp esi, dword [esp + 0x10]
jl 0x55d077
mov ebp, dword [esp + 0x14]
call fcn.004b5290
mov esi, eax
test esi, esi
je 0x55d232
push 4
push dword [esp + 0x30]
push esi
call fcn.004b5670
push ebp
push esi
push dword [edi + 0x18]
push dword [edi + 0x1c]
call fcn.005258f0
add esp, 0x1c
push esi
test eax, eax
je 0x55d22a
call fcn.004b4f60
add esp, 4
call fcn.004b5290
mov ebp, eax
test ebp, ebp
je 0x55d232
push 4
push dword [edi + 0x1c]
push ebp
call fcn.004b5670
mov esi, dword [esp + 0x20]
push esi
push dword [esp + 0x30]
push ebp
push dword [edi + 0x28]
push 0
call fcn.005124a0
add esp, 0x20
test eax, eax
je 0x55d229
push esi
push dword [esp + 0x1c]
push ebp
push dword [edi + 0x2c]
push 0
call fcn.005124a0
add esp, 0x14
test eax, eax
je 0x55d229
mov esi, 2
cmp dword [esp + 0x10], esi
jle 0x55d18f
lea eax, [esi - 2]
push eax
push ebx
call fcn.00495570
push dword [esp + 0x1c]
mov eax, dword [eax + 4]
push eax
push ebp
push eax
push 0
call fcn.005124a0
add esp, 0x1c
test eax, eax
je 0x55d229
inc esi
cmp esi, dword [esp + 0x10]
jl 0x55d162
push ebp
call fcn.004b4f60
add esp, 4
call fcn.004b5290
mov ebp, eax
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x55d232
push 4
push dword [edi + 0x20]
push ebp
call fcn.004b5670
push dword [esp + 0x20]
push ebp
push dword [edi + 0x24]
push dword [edi + 0x30]
call fcn.005258f0
add esp, 0x1c
test eax, eax
je 0x55d229
mov ebp, 2
cmp dword [esp + 0x10], ebp
jle 0x55d212
lea eax, [ebp - 2]
push eax
push ebx
call fcn.00495570
mov esi, eax
push 4
push dword [esi]
push dword [esp + 0x28]
call fcn.004b5670
push dword [esp + 0x28]
push dword [esp + 0x30]
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.005258f0
add esp, 0x24
test eax, eax
je 0x55d225
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x55d1d8
push dword [esp + 0x18]
call fcn.004b4f60
add esp, 4
mov esi, 1
jmp 0x55d285
mov ebp, dword [esp + 0x18]
push ebp
call fcn.004b4f60
add esp, 4
call fcn.00499720
push str.rsa_keygen
push 0x195
push str.crypto_rsa_rsa_gen.c
call fcn.004997d0
push 0
push 3
push 4
call fcn.00499810
add esp, 0x18
xor esi, esi
jmp 0x55d285
xor esi, esi
call fcn.00499720
push str.rsa_keygen
push 0x64
push str.crypto_rsa_rsa_gen.c
call fcn.004997d0
push esi
push 0xa5
push 4
call fcn.00499810
add esp, 0x18
mov ebx, dword [esp + 0x14]
push ebx
call fcn.00502810
push ebx
call fcn.00502880
add esp, 8
cmp dword [esp + 0x18c], 0
je 0x55d437
test esi, esi
je 0x55d437
lea eax, [esp + 0x2c]
mov dword [esp + 0x28], 0
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], 0
push eax
push dword [esp + 0x48]
call fcn.0051b5c0
push dword [esp + 0x38]
xorps xmm0, xmm0
xor ebx, ebx
push dword [esp + 0x38]
xor ebp, ebp
movups xmmword [esp + 0x70], xmm0
call fcn.0051b600
mov esi, eax
add esp, 0x14
mov dword [esp + 0x18], esi
test esi, esi
je 0x55d3dc
push 0x5cb538
push str.Pairwise_Consistency_Test
push esi
call fcn.0051b650
push edi
call fcn.004d35d0
push 0x1c9
push str.crypto_rsa_rsa_gen.c
push eax
call fcn.00496750
mov ebp, eax
add esp, 0x1c
test ebp, ebp
je 0x55d3dc
push 1
push edi
push ebp
lea eax, [esp + 0x68]
push eax
push 4
call fcn.004d3370
add esp, 0x14
mov dword [esp + 0x40], eax
test eax, eax
je 0x55d3dc
cmp eax, 4
jne 0x55d361
mov eax, dword [ebp]
lea ecx, [esp + 0x5c]
cmp eax, dword [ecx]
je 0x55d3dc
push ebp
push esi
call fcn.0051b690
push 1
push edi
lea eax, [esp + 0x7c]
push eax
push ebp
push dword [esp + 0x58]
call fcn.004d3340
mov esi, eax
add esp, 0x1c
cmp esi, 4
jne 0x55d3d8
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x5c]
sub esi, eax
jb 0x55d3a1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x55d3a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x55d390
cmp esi, 0xfffffffc
je 0x55d3d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x55d3d8
cmp esi, 0xfffffffd
je 0x55d3d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x55d3d8
cmp esi, 0xfffffffe
je 0x55d3d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x55d3d8
cmp esi, 0xffffffff
je 0x55d3d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x55d3d8
mov ebx, 1
mov esi, dword [esp + 0x18]
push ebx
push esi
call fcn.0051b6d0
push esi
call fcn.0051b5a0
push 0x1e1
push str.crypto_rsa_rsa_gen.c
push ebp
call fcn.00496500
add esp, 0x18
test ebx, ebx
jne 0x55d433
push dword [edi + 0x1c]
call fcn.004b4bd0
push dword [edi + 0x20]
call fcn.004b4bd0
push dword [edi + 0x24]
call fcn.004b4bd0
push dword [edi + 0x28]
call fcn.004b4bd0
push dword [edi + 0x2c]
call fcn.004b4bd0
push dword [edi + 0x30]
call fcn.004b4bd0
add esp, 0x18
mov eax, ebx
jmp 0x55d439
mov eax, esi
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059e4d3
add esp, 0x160
ret