Function at 0x10014dc0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x10160004]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x71], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x84], 0x2e2
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x68], 0
mov byte [ebp - 0x58], 0x62
mov byte [ebp - 0x57], 0x34
mov byte [ebp - 0x56], 0x36
mov byte [ebp - 0x55], 0x72
mov byte [ebp - 0x54], 0x50
mov byte [ebp - 0x53], 0x32
mov byte [ebp - 0x52], 0x6d
mov byte [ebp - 0x51], 0x32
mov byte [ebp - 0x50], 0x43
mov byte [ebp - 0x4f], 0x48
mov byte [ebp - 0x4e], 0x6d
mov byte [ebp - 0x4d], 0x66
mov byte [ebp - 0x4c], 0x72
mov byte [ebp - 0x4b], 0x66
mov byte [ebp - 0x4a], 0x34
mov byte [ebp - 0x49], 0x31
mov byte [ebp - 0x48], 0x36
mov byte [ebp - 0x47], 0x41
mov byte [ebp - 0x46], 0x6f
mov byte [ebp - 0x45], 0x58
mov byte [ebp - 0x44], 0x72
mov byte [ebp - 0x43], 0x48
mov byte [ebp - 0x42], 0x61
mov byte [ebp - 0x41], 0x78
mov byte [ebp - 0x40], 0x34
mov byte [ebp - 0x3f], 0x35
mov byte [ebp - 0x3e], 0x31
mov byte [ebp - 0x3d], 0x55
mov byte [ebp - 0x3c], 0x31
mov byte [ebp - 0x3b], 0x69
mov byte [ebp - 0x3a], 0x43
mov byte [ebp - 0x39], 0x61
mov byte [ebp - 0x38], 0x47
mov byte [ebp - 0x37], 0x35
mov byte [ebp - 0x36], 0x30
mov byte [ebp - 0x35], 0x34
mov byte [ebp - 0x34], 0x77
mov byte [ebp - 0x33], 0x46
mov byte [ebp - 0x32], 0x68
mov byte [ebp - 0x31], 0x36
mov byte [ebp - 0x30], 0x37
mov byte [ebp - 0x2f], 0x37
mov byte [ebp - 0x2e], 0x4a
mov byte [ebp - 0x2d], 0x34
mov byte [ebp - 0x2c], 0x63
mov byte [ebp - 0x2b], 0x57
mov byte [ebp - 0x2a], 0x53
mov byte [ebp - 0x29], 0x69
mov byte [ebp - 0x28], 0x36
mov byte [ebp - 0x27], 0x6d
mov byte [ebp - 0x26], 0x34
mov byte [ebp - 0x25], 0x52
mov byte [ebp - 0x24], 0x72
mov byte [ebp - 0x23], 0x53
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x44
mov byte [ebp - 0x20], 0x32
mov byte [ebp - 0x1f], 0x42
mov byte [ebp - 0x1e], 0x49
mov byte [ebp - 0x1d], 0x34
mov byte [ebp - 0x1c], 0x69
mov byte [ebp - 0x1b], 0x74
mov byte [ebp - 0x1a], 0x51
mov byte [ebp - 0x19], 0x53
mov byte [ebp - 0x18], 0x71
mov byte [ebp - 0x17], 0x42
mov byte [ebp - 0x16], 0x48
mov byte [ebp - 0x15], 0x62
mov byte [ebp - 0x14], 0x31
mov byte [ebp - 0x13], 0x30
mov byte [ebp - 0x12], 0x4b
mov byte [ebp - 0x11], 0x6a
mov byte [ebp - 0x10], 0x72
mov byte [ebp - 0xf], 0x31
mov byte [ebp - 0xe], 0x32
mov byte [ebp - 0xd], 0x4e
mov byte [ebp - 0xc], 0x55
mov byte [ebp - 0xb], 0x69
mov byte [ebp - 0xa], 0x31
mov byte [ebp - 9], 0x37
mov byte [ebp - 8], 0x51
mov byte [ebp - 7], 0x66
mov byte [ebp - 6], 0x43
mov byte [ebp - 5], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x90], 0x10014ad0
mov eax, dword [ebp - 0x84]
push eax
call fcn.10103514
add esp, 4
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x84]
jge 0x1001502e
cmp dword [ebp - 0x64], 0x2e2
jne 0x10014fea
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], 0x4b8f
mov edx, dword [ebp - 0x90]
add edx, dword [ebp - 0x60]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x64]
movsx edx, byte [ecx + str.mbWtqm06pw4NQWu7b2xt4bHL37ud7v0q2GLFDC1rV4AnLp5JI5meudn7m0UmX7M1HS3rd0eA3eGl100ve0st07VK6B5M6gm5jpee5J36X5pp2SMcIVVmIUkT52qLNqeDb0w02D6i7QoKVVgAs00uFTE0RJ2X2RfV1r7X215gvCk270PaFvt4a35q3vRGXf2A330CHxCsg153fLm5jpk0slxExp100R22mDQw6B505ghhBQd30lr4lbjo24h3j24G4261T0x7NdfJOKP0757q24S41DTWoMG4tv4H4x17fn40qpQK533Kx30Vi0aA4DFNH0tTMc7k35ejWw20fi42Ew0C7oQep2Kr4NJLXJlMJO4v2WFHKL4R5x1wsGa2tQ7AFfj31EUiMJ3421Lp4w0X33KfI5RKu75L65LoDW0PXFMfL71eLOdg2Hv37WKWq6B4rDcGns105gH1qLa3CCcCe5h7aF034iN1IaH1t4c5U46SLV52S54T565B025A1el1Ss3XhLq6q5Ed66MK400jaa13otJ7Fp0K7vG50Xqf55Uf1t7Wl2RpgfuTfc3JVtLB2LFe0pVW5fGVa4136t57Ha1cT0q312BC1E53766v4J6g4lWUuC1SWCdNVC4kSC3WPR2M3cSx4SiD62fkO7DC014rPe6MEVREBXtIetwod4MCaxDlGjHk6jl1wc251TkxULFoPir0qFflb6W1ka6h54ntRVm40L3S4W]
xor eax, edx
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x60]
mov cl, byte [ebp - 0x71]
mov byte [eax], cl
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
jmp 0x10014fcf
mov ecx, dword [ebp - 0x70]
add ecx, 0x109
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x68], 0x3bb
mov edx, 0x5c
sub edx, dword [ebp - 0x6c]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x68]
add edx, 0x74
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x84], 1
jle 0x100150a2
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x84]
cdq
idiv dword [ebp - 0x64]
test edx, edx
jne 0x10015082
mov ecx, dword [ebp - 0x68]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x84]
cdq
idiv dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x6c]
sub edx, 0xc5
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x6c]
xor eax, 0x237
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x60]
jge 0x10015137
mov edx, dword [ebp - 0x6c]
imul edx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x5c]
sub eax, 0x351
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], 0x349
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.101016f0
add esp, 0xc
mov ecx, dword [ebp - 0x5c]
sub ecx, 0x12e
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x6c]
sub edx, dword [ebp - 0x68]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x68], 0x2c
mov ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
jmp 0x100150c6
mov eax, dword [ebp - 0x8c]
push eax
call fcn.1010350f
add esp, 4
mov dword [ebp - 0x7c], str.iCK3R5RoM1un3SUV5J253CrHV1Aw4lLoHLH2eWXd71RcHB0lEvn2e0V3IUS15l3tvU0q4XSOb4CgrcSP1dqKFp0w3ELivu31MFkmMXi1p2v44Lpd5U2rlFE7KgalB1X0A1oS1w2MLlrb7Vf763TfqEnCI5Ilr4gaNddHNGuO2L70oMa14efMlpJ1j2i0Ql4OC44cWtp4C7U1BhNM6HH64233PJ530hdWl71KW3T3g1TkBoLSF1iA7PXdW32Qwe7fM7Rn4EU2cfDCFVkt7cx74c7u33s556bFi5664bv2Xh2P6ema523G2uDoVa57GQE35ieQ1qSs0ljL5i0wCub05V1kuA3se0aN2LN5U2gokBJaEjw3J7Deb4opwdqTVwghm7bom55r44P4r1a434wFR3gpTR60n4647j717GjW522Vt210XCNtO0Gnt23CjWO0525O0m45J1c72VAk16mQ2CbtGFgP0vs4x4iK1Cm1R02B07D62dLXVJ1jTDFG051hLkMfebsPd36BVq2e65qFOpwSP3Sv5LaRakpN3IoA611MJwbF50g7Q2f4566Cex3M4ElKvGs153BJn7777uD0k6Ma16nKhOF4pBfneuLHt7ECx5tXm3026Bc1Eg5f1lx7r17ge2IFT0ddK12tTWkR3Dx6de7G
mov dword [ebp - 0x80], str.dLWu776sDmSFDFth6K2Sw601UX6oq7JI7X5Lq7Dl3aTWX2pAIHRL46lBQhND4S2qRnl72eMw146KPMc3uC4kW4Wcs6hmcOEd44CpWsO0cDmEGRHH7IbI7JWhnb4034qbanVe7FKcDJ6Fm36x55qsjIP2pnb1cNEIL3eKF35hdg5uA6Gfmqlhip2gATP4Wp6f1o5dIt4Lkadn7JuhoR3nOLsnJRhljR7sGjHFS6T6eV0sjWQBJksq6W64IG07rj14Mr654k2215bG6RmhtI3cpnJCN0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.101032d0
add esp, 4
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x80]
push edx
call fcn.101032d0
add esp, 4
mov dword [ebp - 0x64], eax
push 1
mov eax, dword [ebp - 0x6c]
add eax, 1
push eax
call fcn.10103504
add esp, 8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x60], 0
jmp 0x100151b3
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x58]
push edx
call fcn.101032d0
add esp, 4
cmp dword [ebp - 0x60], eax
jae 0x100151f9
mov eax, dword [ebp - 0x60]
movsx ecx, byte [ebp + eax - 0x58]
push ecx
call fcn.10103024
add esp, 4
test eax, eax
je 0x100151f7
mov edx, dword [ebp - 0x60]
movsx ecx, byte [ebp + edx - 0x58]
mov edx, dword [ebp - 0x60]
movsx eax, byte [ebp + edx - 0x58]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov byte [ebp + eax - 0x58], cl
jmp 0x100151aa
cmp dword [ebp - 0x88], 0
je 0x1001550d
mov dword [ebp - 0x5c], 0
jmp 0x10015218
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
lea edx, [ebp - 0x58]
push edx
call fcn.101032d0
add esp, 4
cmp dword [ebp - 0x5c], eax
jae 0x1001524a
mov eax, dword [ebp - 0x5c]
movsx ecx, byte [ebp + eax - 0x58]
cmp ecx, 0x41
jle 0x10015248
mov edx, dword [ebp - 0x5c]
movsx eax, byte [ebp + edx - 0x58]
sub eax, 0x2d
mov ecx, dword [ebp - 0x5c]
mov byte [ebp + ecx - 0x58], al
jmp 0x1001520f
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x5c], 0x12f
mov dword [ebp - 0x60], 0
jmp 0x10015271
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
jge 0x100152b3
sub esp, 8
movsd xmm0, qword [0x101551c0]
movsd qword [esp], xmm0
call fcn.10103620
add esp, 8
fstp qword [ebp - 0xa0]
movsd xmm0, qword [ebp - 0xa0]
cvttsd2si ecx, xmm0
mov eax, dword [ebp - 0x5c]
cdq
idiv ecx
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x10015268
mov dword [ebp - 0x68], 0
jmp 0x100152c5
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x6c]
jge 0x10015462
mov dword [ebp - 0x5c], 0xf2
mov dword [ebp - 0x60], 0
jmp 0x100152ea
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x5c]
jge 0x10015329
cvtsi2sd xmm0, dword [ebp - 0x5c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10103800
add esp, 8
fstp qword [ebp - 0xa8]
movsd xmm0, qword [ebp - 0xa8]
cvttsd2si ecx, xmm0
mov eax, dword [ebp - 0x5c]
cdq
idiv ecx
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x100152e1
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x60], 0
jmp 0x10015341
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
lea eax, [ebp - 0x58]
push eax
call fcn.101032d0
add esp, 4
cmp dword [ebp - 0x60], eax
jae 0x1001537b
mov ecx, dword [ebp - 0x60]
movsx edx, byte [ebp + ecx - 0x58]
push edx
call fcn.10103080
add esp, 4
test eax, eax
je 0x10015379
mov eax, dword [ebp - 0x60]
movsx ecx, byte [ebp + eax - 0x58]
sub ecx, 0x38
mov edx, dword [ebp - 0x60]
mov byte [ebp + edx - 0x58], cl
jmp 0x10015338
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x64]
jl 0x1001538e
mov ecx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x64]
mov dword [ebp - 0x70], ecx
jmp 0x1001537b
mov dword [ebp - 0x5c], 0xe3
mov dword [ebp - 0x78], 0
jmp 0x100153a7
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x5c]
jge 0x100153e6
cvtsi2sd xmm0, dword [ebp - 0x5c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10103800
add esp, 8
fstp qword [ebp - 0xb0]
movsd xmm0, qword [ebp - 0xb0]
cvttsd2si ecx, xmm0
mov eax, dword [ebp - 0x5c]
cdq
idiv ecx
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x1001539e
mov ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x68]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x70]
movsx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x68]
mov byte [eax], dl
mov dword [ebp - 0x78], 0x147
mov dword [ebp - 0x60], 0
jmp 0x1001541e
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x78]
jge 0x1001545d
cvtsi2sd xmm0, dword [ebp - 0x78]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10103800
add esp, 8
fstp qword [ebp - 0xb8]
movsd xmm0, qword [ebp - 0xb8]
cvttsd2si ecx, xmm0
mov eax, dword [ebp - 0x78]
cdq
idiv ecx
mov eax, dword [ebp - 0x78]
sub eax, edx
mov dword [ebp - 0x78], eax
jmp 0x10015415
jmp 0x100152bc
mov dword [ebp - 0x5c], 0
jmp 0x10015474
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
lea edx, [ebp - 0x58]
push edx
call fcn.101032d0
add esp, 4
cmp dword [ebp - 0x5c], eax
jae 0x100154ba
mov eax, dword [ebp - 0x5c]
movsx ecx, byte [ebp + eax - 0x58]
push ecx
call fcn.10103024
add esp, 4
test eax, eax
je 0x100154b8
mov edx, dword [ebp - 0x5c]
movsx ecx, byte [ebp + edx - 0x58]
mov edx, dword [ebp - 0x5c]
movsx eax, byte [ebp + edx - 0x58]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x5c]
mov byte [ebp + eax - 0x58], cl
jmp 0x1001546b
mov ecx, dword [ebp - 0x88]
push ecx
call fcn.1010350f
add esp, 4
mov dword [ebp - 0x5c], 0
jmp 0x100154db
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
lea eax, [ebp - 0x58]
push eax
call fcn.101032d0
add esp, 4
cmp dword [ebp - 0x5c], eax
jae 0x1001550d
mov ecx, dword [ebp - 0x5c]
movsx edx, byte [ebp + ecx - 0x58]
cmp edx, 0x41
jle 0x1001550b
mov eax, dword [ebp - 0x5c]
movsx ecx, byte [ebp + eax - 0x58]
sub ecx, 0x13
mov edx, dword [ebp - 0x5c]
mov byte [ebp + edx - 0x58], cl
jmp 0x100154d2
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100ff22d
mov esp, ebp
pop ebp
ret