Function at 0x44b02d
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x44e685
cmp dword [esi + 0x9c], 2
je 0x446579
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], edi
cmp edi, 0xa1
ja case.0x408896.98
movzx eax, byte [edi + 0x409110]
jmp dword [eax*4 + 0x408fc4]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
sub edi, eax
mov eax, 0x88
mov dword [ebp - 0x20], edi
movzx ecx, word [edi]
cmp cx, ax
jae 0x4472d4
mov eax, 0x81
cmp cx, ax
je 0x4472d4
mov dword [ebp - 0x2c], 0
cmp ecx, 0x7d
jb 0x4088e3
mov eax, 0x80
cmp cx, ax
jbe 0x44ca6a
mov eax, 0x82
cmp cx, ax
je 0x44ca6a
mov eax, 0x85
cmp cx, ax
je 0x408ca6
mov eax, 0x8a
cmp cx, ax
je 0x408ca6
mov eax, 0x86
cmp cx, ax
je 0x408ca6
mov eax, 0x8b
cmp cx, ax
je 0x408ca6
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x44734c
mov eax, 0x81
cmp word [edi], ax
je 0x44ca15
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40886d
cmp edi, 0x88
jae 0x44c893
cmp edi, 0x81
je 0x44c893
cmp dword [esi + 0x70], 0
jne 0x44c89d
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x44c89d
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4c2140]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x408851
jmp 0x44e68f
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44e62b
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x44e671
mov eax, 1
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
cmp eax, ecx
jae 0x44cdc7
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov edi, eax
je 0x408a18
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44820e
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f2]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x408ab6
mov esi, dword [ebp - 8]
mov ebx, edi
jmp 0x408a50
cmp dword [ebp - 0x28], 0
mov edx, 1
movzx ecx, word [esi]
je 0x408a70
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44823a
mov esi, dword [ebp - 0x34]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edi, ebx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3f2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c21f0], eax
mov eax, dword [ebp - 0x24]
jne 0x408b81
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
jne 0x44825e
mov edx, dword [ebp - 8]
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x40886d
movzx edx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0xc], eax
mov ecx, edx
mov dword [ebp - 0x30], ebx
cmp ecx, 0x6d
jbe 0x4484d2
mov edx, 1
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], edx
push ebp
call 0x119877d
jle 0x408af9
fadd dword [eax]
mov ecx, 1
mov dword [ebp - 0x24], ecx
je 0x4485a0
cmp edx, ecx
jl 0x408b6d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cdc7
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44856d
cmp edx, 0xff
ja 0x448592
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x408896.157
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x408b11
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x20]
jne 0x448602
mov edx, dword [ebp - 8]
jmp 0x40886d
lea esi, [ebx + edx*2]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], esi
mov ebx, esi
mov edi, esi
cmp esi, eax
jb 0x408a50
jmp 0x408ab0
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cdc7
invalid
cmp dword [ebp - 0x28], 0
je 0x448b6d
movzx ecx, word [ebx + 2]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x34], 1
and eax, 0xfc00
mov edx, ecx
ror dword [ecx + 0x3ddc55], 1
fadd dword [eax]
add byte [edi], cl
test al, ch
inc byte [ebx]
invalid
mov eax, dword [ebp - 8]
cmp edx, 0x80
jae 0x448ae9
movzx edx, word [eax]
mov eax, dword [esi + 0x3c]
cmp edx, 0xff
ja 0x408bf7
movzx edx, byte [eax + edx]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.0x408896.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x40886d
cld
invalid
invalid
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cdc7
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ecx
je 0x408c4a
mov eax, edx
mov dword [ebp - 0x20], ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x447fd6
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4b1c40]
cmp eax, 9
or dword [edi], ecx
invalid
mov esi, ebx
add eax, dword [eax]
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4b0a70]
lea eax, [eax*4 + 0x4b0a70]
cmp dword [ebp - 0x20], ecx
jb 0x448200
lea eax, [eax + 4]
cmp edx, ecx
je 0x408d21
mov ecx, dword [eax]
cmp edx, ecx
jae 0x408c90
jmp 0x448200
movzx eax, word [edi + 4]
mov dword [ebp - 0x24], eax
lea edi, [eax + eax]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], edi
mov ecx, edi
cmp edi, 0x10
jne case.0x408896.157
add ebx, 6
cmp dword [ebp - 0x28], 0
je 0x448a8c
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov edi, 1
and ax, cx
mov dword [ebp - 0x34], edi
mov ecx, 0xd800
cmp ax, cx
je 0x448a7f
mov ecx, dword [esi + 0x7c]
mov eax, ecx
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x34], eax
jg 0x44cd8f
lea esp, [esp]
movzx ecx, word [ebx]
dec edi
movzx eax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x408896.157
test edi, edi
jle 0x408b79
jmp 0x408d80
lea ecx, [edi - 0x55]
add ebx, 2
mov eax, ebx
test cl, 1
je 0x4498e4
mov edx, 1
movsx edi, byte [ecx + 0x4b1c2c]
mov dword [ebp - 0xc], edi
movsx edi, byte [ecx + 0x4b1c20]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x408de1
mov dword [ebp - 0x14], 0x7fffffff
movzx edi, word [ebx]
lea ebx, [eax + 2]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x4498eb
cmp edi, 0xf
je 0x4498eb
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
test ecx, ecx
jg 0x449912
mov edi, dword [ebp - 8]
movzx edx, word [ebx + 4]
mov dword [ebp - 0x30], edx
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
cmp eax, dword [esi + 0x14]
jge case.0x408896.129
mov ecx, dword [esi + 0xc]
lea edi, [edx + edx]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x10]
sub eax, edx
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
nop
cmp edi, 0x88
jae 0x44e35b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410b9c
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1b
je 0x44e3af
cmp eax, 0xfffffc20
je 0x44e36a
test eax, eax
jne 0x4089db
jmp 0x44e38c
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
ja 0x446f7b
sbb al, 0x43
je case.0x408896.119
mov dword [ebp - 0x30], ebx
jmp 0x44ec63
cmp dword [esi + 0x8c], 0
je 0x44b65e
cmp edi, dword [esi + 0x88]
jbe 0x44b65e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b65e
jmp 0x498739
cmp edi, dword [esi + 0x7c]
jae 0x44afba
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b041
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b03c
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b046
mov edx, dword [ebp - 0x38]
jmp 0x44b046
mov edx, 1
mov esi, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b65e
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44aff5
jmp 0x495afa
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b79
cmp edi, edx
jbe 0x408992
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00453297
add esp, 0x14
test eax, eax
jne 0x4089db
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
inc ebp
invalid
je 0x44b6bc
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b6bc
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44b673
jmp 0x453454
div byte [esi + esi - 0x75]
inc esi
or al, 0xff
or byte [ebx + 0x38830c46], cl
add byte [ebp + 0x17], dh
push dword [esi]
call fcn.0047267b
add byte [ebx + 0x46a04c4], al
push dword [esi + 0xc]
call fcn.00472641
add esp, 8
push 0x10
push esi
call fcn.0047264c
add esp, 8
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 8]
cmp eax, 5
jl case.0x4534a5.6
add eax, 0xfffffffb
invalid