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

Disassembly:
sub esp, 0xcc
push ebx
mov ebx, dword [esp + 0xd4]
push ebp
xor ebp, ebp
cmp ebx, ebp
jne 0x100617d3
pop ebp
mov eax, 0x3e9
pop ebx
add esp, 0xcc
ret
mov eax, dword [ebx + 0x21c]
cmp eax, 0x3ef
je 0x100623e3
cmp eax, 0x3f0
je 0x100623e3
cmp eax, 0x3f1
je 0x100623e3
cmp eax, 0x3f2
je 0x100623e3
cmp eax, 0x3f3
je 0x100623e3
cmp eax, 0x3f6
je 0x100623e3
cmp eax, 0x3f7
je 0x100623e3
cmp eax, 0x3f8
je 0x100623e3
cmp eax, 0x402
je 0x100623e3
cmp eax, 0x3fa
je 0x100623e3
push esi
push edi
mov esi, ebx
call fcn.10009ba0
push str.___START...
push 0x10260d4c
mov ecx, 0xa4
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.DEBUG
call fcn.1007a350
add esp, 8
cmp dword [esp + 0xe8], ebp
jne 0x100619bc
push str.pPriKey
mov esi, vtable.C3303::ByteString.0
push 0x1025b604
lea eax, [esp + 0x30]
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.101e6de0
mov eax, dword [esp + 0x3c]
add esp, 8
cmp eax, ebp
je 0x100618bb
cmp dword [esp + 0x2c], ebp
jne 0x100618c0
mov eax, 0x1025bd4e
mov dword [ebx + 0x21c], 0x3ec
cmp eax, ebp
je 0x100619ab
push eax
push 0x10260d4c
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0xc
cmp eax, ebp
je 0x10061916
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
jle 0x10061934
lea eax, [esi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
je 0x10061974
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x1006198e
lea edi, [esi + 1]
push edi
push ebp
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x1c], ebp
je 0x1006195a
mov eax, dword [esp + 0x1c]
cmp esi, ebp
jne 0x1006195f
mov eax, 0x1025bd4e
mov ecx, dword [ebx + 0x200]
push eax
push edi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
je 0x1006198e
lea ecx, [esp + 0x10]
call fcn.101e5b00
mov eax, dword [ebx + 0x200]
push eax
mov ecx, 0xac
jmp 0x10061af3
mov esi, dword [esp + 0x1c]
cmp esi, ebp
je 0x100619ab
mov edx, dword [esp + 0x18]
push edx
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebx + 0x200]
push eax
mov ecx, 0xac
jmp 0x10061af3
cmp dword [esp + 0xec], ebp
jne 0x10061b23
push str.pPubKey
mov esi, vtable.C3303::ByteString.0
push 0x1025b604
lea eax, [esp + 0x30]
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.101e6de0
mov eax, dword [esp + 0x3c]
add esp, 8
cmp eax, ebp
je 0x10061a06
cmp dword [esp + 0x2c], ebp
jne 0x10061a0b
mov eax, 0x1025bd4e
mov dword [ebx + 0x21c], 0x3ec
cmp eax, ebp
je 0x10061ae7
push eax
push 0x10260d4c
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0xc
cmp eax, ebp
je 0x10061a61
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
jle 0x10061a7f
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
je 0x10061abf
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x10061aca
lea edi, [esi + 1]
push edi
push ebp
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x1c], ebp
je 0x10061aa5
mov eax, dword [esp + 0x1c]
cmp esi, ebp
jne 0x10061aaa
mov eax, 0x1025bd4e
mov edx, dword [ebx + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
je 0x10061aca
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10061ae7
mov esi, dword [esp + 0x1c]
cmp esi, ebp
je 0x10061ae7
mov eax, dword [esp + 0x18]
push eax
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebx + 0x200]
push ecx
mov ecx, 0xb2
push 0x10260d4c
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.ERROR
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x28]
call fcn.101e5b00
pop edi
pop esi
pop ebp
mov eax, 0x3ec
pop ebx
add esp, 0xcc
ret
mov esi, dword [esp + 0xe4]
push esi
mov eax, vtable.C3303::ByteString.0
push str._IN__Algorithm__0x_02X
push 0x10260d4c
mov ecx, 0xb8
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.INFO
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
call fcn.1007a350
lea eax, [esi - 0x10]
add esp, 0xc
cmp eax, 0x90
ja case.0x10061ba5.17
movzx edx, byte [eax + 0x10062414]
jmp dword [edx*4 + 0x100623ec]
mov edi, 2
jmp 0x10061be9
mov edi, 0x23
jmp 0x10061be9
mov edi, 3
jmp 0x10061be9
mov edi, 0x12
jmp 0x10061be9
mov edi, 0x26
jmp 0x10061be9
mov edi, 0x29
jmp 0x10061be9
mov edi, 0x3c
jmp 0x10061be9
mov edi, 4
jmp 0x10061be9
mov edi, 5
lea eax, [esp + 0xa0]
mov dword [esp + 0x24], edi
call fcn.1014ff20
cmp edi, 0x12
jne 0x10061e23
mov eax, vtable.C3303::ByteString.0
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
lea edx, [esp + 0x28]
cmp esi, 0x20
jne 0x10061c73
lea eax, [esp + 0x8c]
push eax
push 0x400
jmp 0x10061c80
lea ecx, [esp + 0x8c]
push ecx
push 0x800
lea ecx, [esp + 0x80]
call fcn.10037250
add esp, 8
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0xb0]
push eax
call fcn.1014ff90
mov edi, eax
lea esi, [esp + 0x64]
call fcn.101e5f90
lea ecx, [esp + 0x10]
call fcn.101e5b00
cmp dword [esp + 0xa4], ebp
jle 0x10061e01
lea ecx, [esp + 0xbc]
call fcn.101e6430
push eax
push 0x10260ec0
push 0x10260d4c
push str.__s___s__caoslib___s
lea eax, [esp + 0x20]
mov dword [ebx + 0x21c], 0x139a
mov dword [esp + 0x20], vtable.C3303::ByteString.0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0x10
cmp eax, ebp
je 0x10061d37
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
jle 0x10061d60
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
jne 0x10061d60
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10061dbb
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x10061d9e
lea edi, [esi + 1]
push edi
push ebp
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebp
je 0x10061d84
cmp esi, ebp
jne 0x10061d89
mov eax, 0x1025bd4e
mov edx, dword [ebx + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10061d55
mov esi, dword [esp + 0x1c]
cmp esi, ebp
je 0x10061dbb
mov eax, dword [esp + 0x18]
push eax
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebx + 0x200]
push ecx
push 0x10260d4c
mov ecx, 0xf3
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.ERROR
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x78]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0x28]
call fcn.101e5b00
jmp 0x10061f54
lea ecx, [esp + 0x78]
call fcn.101e5b00
lea ecx, [esp + 0x8c]
call fcn.101e5b00
lea ecx, [esp + 0x28]
call fcn.101e5b00
mov edi, dword [esp + 0x24]
push ebp
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x70]
push ecx
push edi
lea edx, [esp + 0xb4]
push edx
mov esi, vtable.C3303::ByteString.0
call fcn.101504b0
test eax, eax
jle 0x10061f96
lea ecx, [esp + 0xbc]
call fcn.101e6430
push eax
push 0x10260ec0
push 0x10260d4c
push str.__s___s__caoslib___s
lea eax, [esp + 0x20]
mov dword [ebx + 0x21c], 0x139a
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0x10
cmp eax, ebp
je 0x10061ead
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
jle 0x10061ed6
lea eax, [esi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
jne 0x10061ed6
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x10061f31
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x10061f14
lea edi, [esi + 1]
push edi
push ebp
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebp
je 0x10061efa
cmp esi, ebp
jne 0x10061eff
mov eax, 0x1025bd4e
mov ecx, dword [ebx + 0x200]
push eax
push edi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10061ecb
mov esi, dword [esp + 0x1c]
cmp esi, ebp
je 0x10061f31
mov edx, dword [esp + 0x18]
push edx
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov eax, dword [ebx + 0x200]
push eax
push 0x10260d4c
mov ecx, 0xf7
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.ERROR
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], vtable.PGenKeyPair.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x3c]
call fcn.101e5b00
pop edi
pop esi
pop ebp
mov eax, 0x139a
pop ebx
add esp, 0xcc
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
cmp eax, ebp
je 0x10061fa6
cmp ecx, ebp
jne 0x10061fab
mov eax, 0x1025bd4e
mov edx, dword [esp + 0xe8]
push edx
push ecx
push eax
call sym.DSCToolkitV30_v3.4.2.25.dll_DSTK_BINSTR_SetData
add esp, 0xc
mov dword [esp + 0x24], eax
cmp eax, ebp
je 0x100620b1
push str.DSTK_BINSTR_SetData_:_priKey
mov dword [ebx + 0x21c], eax
push 0x10260d4c
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0xc
cmp eax, ebp
je 0x10062017
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov edi, dword [esp + 0x14]
cmp edi, ebp
jle 0x10062048
lea eax, [edi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
jne 0x10062048
lea ecx, [esp + 0x10]
call fcn.101e5b00
mov ecx, 0xfd
jmp 0x100621bf
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x10062088
lea esi, [edi + 1]
push esi
push ebp
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x1c], ebp
je 0x1006206e
mov eax, dword [esp + 0x1c]
cmp edi, ebp
jne 0x10062073
mov eax, 0x1025bd4e
mov ecx, dword [ebx + 0x200]
push eax
push esi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10062035
cmp dword [esp + 0x1c], ebp
je 0x100620a7
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push edx
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, 0xfd
jmp 0x100621bf
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
cmp eax, ebp
je 0x100620c1
cmp ecx, ebp
jne 0x100620c6
mov eax, 0x1025bd4e
mov edx, dword [esp + 0xec]
push edx
push ecx
push eax
call sym.DSCToolkitV30_v3.4.2.25.dll_DSTK_BINSTR_SetData
add esp, 0xc
mov dword [esp + 0x24], eax
cmp eax, ebp
je 0x1006221e
push str.DSTK_BINSTR_SetData_:_pubKey
mov dword [ebx + 0x21c], eax
push 0x10260d4c
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0xc
cmp eax, ebp
je 0x10062132
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov edi, dword [esp + 0x14]
cmp edi, ebp
jle 0x1006215b
lea eax, [edi + 1]
push eax
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
jne 0x1006215b
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x100621ba
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x1006219b
lea esi, [edi + 1]
push esi
push ebp
push eax
call fcn.10228aa0
add esp, 0xc
cmp dword [esp + 0x1c], ebp
je 0x10062181
mov eax, dword [esp + 0x1c]
cmp edi, ebp
jne 0x10062186
mov eax, 0x1025bd4e
mov ecx, dword [ebx + 0x200]
push eax
push esi
push ecx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10062150
cmp dword [esp + 0x1c], ebp
je 0x100621ba
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push edx
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, pe_nt_image_headers32
mov eax, dword [ebx + 0x200]
push eax
push 0x10260d4c
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.ERROR
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], vtable.PGenKeyPair.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x3c]
call fcn.101e5b00
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret
push str._OUT__PrivateKey
push 0x10260d4c
push str......._srcDSToolkitDSToolkit_Crypt.cpp
push ebx
lea eax, [esp + 0x4c]
mov ecx, 0x102
mov edx, str.INFO
call fcn.1007a3b0
push str._OUT__PublicKey
push 0x10260d4c
push str......._srcDSToolkitDSToolkit_Crypt.cpp
push ebx
lea eax, [esp + 0x70]
mov ecx, 0x103
mov edx, str.INFO
call fcn.1007a3b0
push str.FINISH...___
push 0x10260d4c
mov ecx, 0x105
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.DEBUG
call fcn.1007a350
add esp, 0x28
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], vtable.PGenKeyPair.0
call fcn.100e2f20
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x3c]
call fcn.101e5b00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
push 0x10260e98
push 0x10260d4c
push str.__s___s
lea eax, [esp + 0x1c]
mov dword [ebx + 0x21c], 0x1398
mov dword [esp + 0x1c], vtable.C3303::ByteString.0
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.101e6de0
mov eax, dword [ebx + 0x200]
add esp, 0xc
cmp eax, ebp
je 0x1006231a
push eax
call fcn.102264a9
add esp, 4
mov dword [ebx + 0x200], ebp
mov esi, dword [esp + 0x14]
cmp esi, ebp
jle 0x10062343
lea ecx, [esi + 1]
push ecx
call fcn.10226586
add esp, 4
mov dword [ebx + 0x200], eax
cmp eax, ebp
jne 0x10062343
lea ecx, [esp + 0x10]
call fcn.101e5b00
jmp 0x1006239e
mov eax, dword [ebx + 0x200]
cmp eax, ebp
je 0x10062381
lea edi, [esi + 1]
push edi
push ebp
push eax
call fcn.10228aa0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebp
je 0x10062367
cmp esi, ebp
jne 0x1006236c
mov eax, 0x1025bd4e
mov edx, dword [ebx + 0x200]
push eax
push edi
push edx
call fcn.10226818
add esp, 0xc
test eax, eax
jne 0x10062338
mov esi, dword [esp + 0x1c]
cmp esi, ebp
je 0x1006239e
mov eax, dword [esp + 0x18]
push eax
push ebp
push esi
call fcn.10228aa0
push esi
call fcn.1021b8de
add esp, 0x10
mov ecx, dword [ebx + 0x200]
push ecx
push 0x10260d4c
mov ecx, 0xe5
mov edi, str......._srcDSToolkitDSToolkit_Crypt.cpp
mov edx, str.ERROR
call fcn.1007a350
add esp, 8
lea ecx, [esp + 0x64]
call fcn.101e5b00
lea ecx, [esp + 0x50]
call fcn.101e5b00
lea ecx, [esp + 0x3c]
call fcn.101e5b00
pop edi
mov eax, 0x1398
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret