Function at 0x10014254
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x484
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x20]
lea ebx, [esp + 0x1c]
lea ebp, [esp + 0x64]
mov esi, dword [esp + 0x4b8]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], edx
xor eax, eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
mov dword [edx], eax
mov dword [esp + 0x38], ebx
mov ecx, ebp
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x3c]
call fcn.10004a38
cmp esi, 3
mov eax, 0xdbc29a37
mov ecx, 0xe15cdb5b
cmove ecx, eax
cmp esi, 2
mov eax, 0x984bc0ca
mov dword [esp + 0x5c], ecx
mov ecx, 0xbb9d1bd8
cmove ecx, eax
cmp esi, 1
mov eax, 0x62c4de16
mov esi, ebp
mov dword [esp + 0x58], ecx
mov ecx, 0x3dfe391e
cmove ecx, eax
mov eax, 0x59b7d27
mov dword [esp + 0x54], ecx
mov ecx, eax
cmp eax, 0x181f1a3b
jg 0x1001432f
cmp ecx, 0xdbc29a36
jg 0x100143a4
cmp ecx, 0xbb9d1bd7
jg 0x1001446a
cmp ecx, 0x984bc0ca
je 0x1001454b
cmp ecx, 0xbaebb470
mov eax, ecx
jne 0x100142e5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x60]
mov eax, 0x181f1a3c
mov dword [esp + 0x28], ecx
jmp 0x100142e5
cmp ecx, 0x521a49e3
jle 0x100143ea
cmp ecx, 0x6450a3e4
jg 0x100144c3
cmp ecx, 0x521a49e4
je 0x10014592
cmp ecx, 0x62c4de16
mov eax, ecx
jne 0x100142e5
lea eax, [esp + 4]
mov ecx, 0x27d69beb
mov word [esp], 0x7965
mov byte [esp + 2], 0x67
mov dword [esp + 4], eax
lea eax, [esp + 3]
cmp ecx, 0x667a77ef
je 0x10014603
cmp ecx, 0x27d69beb
jne 0x10014379
mov byte [eax], 0
inc eax
mov ecx, 0x27d69beb
mov edx, 0x667a77ef
cmp eax, dword [esp + 4]
cmove ecx, edx
jmp 0x10014379
cmp ecx, 0x59b7d26
jg 0x100144f8
cmp ecx, 0xdbc29a37
je 0x1001466e
cmp ecx, 0xe15cdb5b
mov eax, ecx
jne 0x100142e5
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
cmp eax, dword [ecx]
mov eax, 0x6450a3e5
mov ecx, 0x521a49e4
cmove eax, ecx
jmp 0x100142e5
cmp ecx, 0x3dfe391d
jle 0x1001452c
mov eax, dword [esp + 0x58]
cmp ecx, 0x3dfe391e
je 0x100142e5
cmp ecx, 0x46feb1d0
mov eax, ecx
jne 0x100142e5
lea eax, [esp + 0x10]
mov ecx, 0x47c7a77e
mov dword [esp + 4], 0x77706856
mov dword [esp + 8], 0x416a6471
mov word [esp + 0xc], 0x6c7a
mov byte [esp + 0xe], 0x6f
mov dword [esp], eax
lea eax, [esp + 0xf]
cmp ecx, 0x86774c74
je 0x100146b5
cmp ecx, 0x47c7a77e
jne 0x10014440
mov byte [eax], 0
inc eax
mov ecx, 0x47c7a77e
mov edx, 0x86774c74
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10014440
mov eax, dword [esp + 0x5c]
cmp ecx, 0xbb9d1bd8
je 0x100142e5
cmp ecx, 0xc68b1cbe
mov eax, ecx
jne 0x100142e5
mov eax, dword [esp + 0x2c]
mov edi, 0xdc541ec
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
test ecx, ecx
mov edx, dword [esp + 0x4c]
sete al
test edx, edx
sete ah
xor ah, al
mov eax, 0x2226d361
cmovne eax, edi
or ecx, edx
cmove eax, edi
jmp 0x100142e5
cmp ecx, 0x6450a3e5
je 0x10014710
cmp ecx, 0x6fdd4d24
mov eax, ecx
jne 0x100142e5
mov dword [esp + 0x60], ebp
mov eax, 0x46feb1d0
mov ecx, 0xbaebb470
cmp dword [esp + 0x18], 0
cmove eax, ecx
jmp 0x100142e5
mov eax, dword [esp + 0x54]
cmp ecx, 0x59b7d27
je 0x100142e5
cmp ecx, 0xdc541ec
mov eax, ecx
jne 0x100142e5
mov ecx, esi
push 0
call fcn.10004a6a
xor ebp, ebp
mov eax, 0x6fdd4d24
inc ebp
jmp 0x100142e5
cmp ecx, 0x2226d361
je 0x10014721
cmp ecx, 0x181f1a3c
mov eax, ecx
jne 0x100142e5
jmp 0x10014b1b
lea eax, [esp + 4]
mov ecx, 0x27d69beb
mov word [esp], 0x6d64
mov byte [esp + 2], 0x6e
mov dword [esp + 4], eax
lea eax, [esp + 3]
cmp ecx, 0x667a77ef
je 0x10014749
cmp ecx, 0x27d69beb
jne 0x10014567
mov byte [eax], 0
inc eax
mov ecx, 0x27d69beb
mov edx, 0x667a77ef
cmp eax, dword [esp + 4]
cmove ecx, edx
jmp 0x10014567
lea eax, [esp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
push 0x410
push 0
push dword [esp + 0x2c]
call fcn.10090dd0
add esp, 0xc
lea eax, [esp + 0x11]
mov ecx, 0x7371f918
mov dword [esp + 4], 0x77706856
mov dword [esp + 8], 0x466a6471
mov dword [esp + 0xc], 0x68656564
mov dword [esp], eax
lea eax, [esp + 0x10]
cmp ecx, 0x741a295e
je 0x100147b4
cmp ecx, 0x7371f918
jne 0x100145d9
mov byte [eax], 0
inc eax
mov ecx, 0x7371f918
mov edx, 0x741a295e
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x100145d9
xor eax, eax
mov ecx, 0x61c941a
cmp ecx, 0xd165fb91
je 0x10014640
cmp ecx, 0x2b1c6839
je 0x10014883
cmp ecx, 0x61c941a
jne 0x1001460a
mov dword [esp + 4], eax
mov edx, 0xd165fb91
mov ecx, dword [esp + 4]
cmp ecx, 3
mov ecx, 0x2b1c6839
cmovb ecx, edx
jmp 0x1001460a
mov ecx, dword [esp + 4]
mov dl, byte [esp + ecx]
mov eax, dword [esp + 4]
mov dh, dl
and dl, 0xd0
not dh
and dh, 0x2f
or dl, dh
mov dh, al
and al, 0xd0
not dh
and dh, 0x2f
or al, dh
xor al, dl
mov byte [esp + ecx], al
mov eax, dword [esp + 4]
inc eax
jmp 0x10014605
lea eax, [esp + 4]
mov ecx, 0x27d69beb
mov word [esp], 0x6064
mov byte [esp + 2], 0x76
mov dword [esp + 4], eax
lea eax, [esp + 3]
cmp ecx, 0x667a77ef
je 0x1001481c
cmp ecx, 0x27d69beb
jne 0x1001468a
mov byte [eax], 0
inc eax
mov ecx, 0x27d69beb
mov edx, 0x667a77ef
cmp eax, dword [esp + 4]
cmove ecx, edx
jmp 0x1001468a
xor eax, eax
mov ecx, 0x4365cb22
cmp ecx, 0x389d28ca
je 0x100146f0
cmp ecx, 0x78c8d1d2
je 0x100148b8
cmp ecx, 0x4365cb22
jne 0x100146bc
mov dword [esp], eax
mov edx, 0x389d28ca
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0x78c8d1d2
cmovb ecx, edx
jmp 0x100146bc
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 4]
mov eax, dword [esp]
mov dh, dl
not dh
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 4], al
mov eax, dword [esp]
inc eax
jmp 0x100146b7
xor ecx, ecx
mov eax, 0x181f1a3c
inc ecx
mov dword [esp + 0x28], ecx
jmp 0x100142e5
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x54]
call fcn.10008a04
add esp, 0xc
mov ebp, eax
mov dword [esp + 0x20], 0
mov eax, 0x6fdd4d24
jmp 0x100142e5
xor eax, eax
mov ecx, 0x61c941a
cmp ecx, 0xd165fb91
je 0x10014786
cmp ecx, 0x2b1c6839
je 0x10014883
cmp ecx, 0x61c941a
jne 0x10014750
mov dword [esp + 4], eax
mov edx, 0xd165fb91
mov ecx, dword [esp + 4]
cmp ecx, 3
mov ecx, 0x2b1c6839
cmovb ecx, edx
jmp 0x10014750
mov ecx, dword [esp + 4]
mov dl, byte [esp + ecx]
mov eax, dword [esp + 4]
mov dh, dl
and dl, 0x67
not dh
and dh, 0x98
or dl, dh
mov dh, al
and al, 0x67
not dh
and dh, 0x98
or al, dh
xor al, dl
mov byte [esp + ecx], al
mov eax, dword [esp + 4]
inc eax
jmp 0x1001474b
xor eax, eax
mov ecx, 0x23aa364b
cmp ecx, 0xade85fba
je 0x100147ef
cmp ecx, 0xfdcc9849
je 0x100148dd
cmp ecx, 0x23aa364b
jne 0x100147bb
mov dword [esp], eax
mov edx, 0xade85fba
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xfdcc9849
cmovb ecx, edx
jmp 0x100147bb
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 4]
mov eax, dword [esp]
mov dh, dl
and dl, 9
not dh
and dh, 0xf6
or dl, dh
mov dh, al
and al, 9
not dh
and dh, 0xf6
or al, dh
xor al, dl
mov byte [esp + ecx + 4], al
mov eax, dword [esp]
inc eax
jmp 0x100147b6
xor eax, eax
mov ecx, 0x61c941a
cmp ecx, 0xd165fb91
je 0x10014855
cmp ecx, 0x2b1c6839
je 0x10014883
cmp ecx, 0x61c941a
jne 0x10014823
mov dword [esp + 4], eax
mov edx, 0xd165fb91
mov ecx, dword [esp + 4]
cmp ecx, 3
mov ecx, 0x2b1c6839
cmovb ecx, edx
jmp 0x10014823
mov ecx, dword [esp + 4]
mov dl, byte [esp + ecx]
mov eax, dword [esp + 4]
mov dh, dl
and dl, 0xfb
not dh
and dh, 4
or dl, dh
mov dh, al
and al, 0xfb
not dh
and dh, 4
or al, dh
xor al, dl
mov byte [esp + ecx], al
mov eax, dword [esp + 4]
inc eax
jmp 0x1001481e
mov byte [esp + 3], 0
push 3
lea eax, [esp + 4]
push eax
push 1
push ebx
push esi
push 0x3004
push dword [esp + 0x4b8]
push dword [esp + 0x4b8]
call fcn.1000988e
add esp, 0x20
mov eax, 0xe15cdb5b
jmp 0x100142e5
lea ecx, [esp + 4]
mov byte [esp + 0xf], 0
call fcn.100068cd
push 0x8000
push 0
push dword [esp + 0x20]
call eax
mov eax, 0xbaebb470
jmp 0x100142e5
lea ecx, [esp + 4]
mov byte [esp + 0x10], 0
call fcn.100068cd
push 4
push 0x1000
push dword [esp + 0x24]
push 0
call eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xb]
mov ecx, 0xfcaac6fa
mov dword [esp + 4], 0x606f646d
mov word [esp + 8], 0x7c74
mov dword [esp], eax
lea eax, [esp + 0xa]
cmp ecx, 0xece48a4b
je 0x10014943
cmp ecx, 0xfcaac6fa
jne 0x1001491d
mov byte [eax], 0
inc eax
mov ecx, 0xfcaac6fa
mov edx, 0xece48a4b
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1001491d
xor eax, eax
mov ecx, 0x52d4eb05
cmp ecx, 0x84a55528
je 0x1001499a
cmp ecx, 0xac4cf4e0
je 0x1001497a
cmp ecx, 0x52d4eb05
jne 0x1001494a
mov dword [esp], eax
mov edx, 0xac4cf4e0
mov ecx, dword [esp]
cmp ecx, 6
mov ecx, 0x84a55528
cmovb ecx, edx
jmp 0x1001494a
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 4]
mov eax, dword [esp]
mov dh, dl
not dh
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 4], al
mov eax, dword [esp]
inc eax
jmp 0x10014945
lea ecx, [esp + 4]
mov byte [esp + 0xa], 0
call fcn.100068cd
mov ecx, dword [esp + 0x40]
push dword [ecx]
push dword [esp + 0x6c]
push dword [esp + 0x20]
call eax
add esp, 0xc
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
lea eax, [esp + 0x74]
mov dword [esp + 4], 0x4e0050
mov dword [esp + 8], 0x570051
mov word [esp + 0xc], 4
mov dword [esp], ecx
lea ecx, [esp + 0x16]
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], edx
mov edx, 0x5885b3b2
cmp edx, 0x4d61b95f
je 0x10014a1c
cmp edx, 0x5885b3b2
jne 0x100149f2
mov word [ecx], 0
add ecx, 2
mov edx, 0x5885b3b2
mov eax, 0x4d61b95f
cmp ecx, dword [esp]
cmove edx, eax
jmp 0x100149f2
xor ecx, ecx
mov edx, 0xfd17f532
cmp edx, 0xa39c7494
je 0x10014a53
cmp edx, 0x1b6a8941
je 0x10014aa3
cmp edx, 0xfd17f532
jne 0x10014a23
mov dword [esp], ecx
mov eax, 0xa39c7494
mov edx, dword [esp]
cmp edx, 9
mov edx, 0x1b6a8941
cmovb edx, eax
jmp 0x10014a23
mov ecx, dword [esp]
mov eax, esi
mov esi, ebx
mov ebx, 0x1780
movzx edx, word [esp + ecx*2 + 4]
mov edi, dword [esp]
mov ebp, edx
and edx, 0xffffb5e4
add edi, ebx
mov ebx, esi
mov esi, eax
not ebp
and ebp, 0x4a1b
or edx, ebp
mov ebp, edx
xor edx, 0xffffa264
and edx, edi
xor ebp, 0x5d9b
not edi
and edi, ebp
or edi, edx
mov word [esp + ecx*2 + 4], di
mov ecx, dword [esp]
inc ecx
jmp 0x10014a1e
mov word [esp + 0x16], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
sub esp, 0x28
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x54]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x48]
mov dword [esp + 8], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c0]
mov dword [esp], eax
call fcn.1000c56c
add esp, 0x28
mov ebp, eax
test eax, eax
mov eax, 0x6fdd4d24
mov ecx, 0xc68b1cbe
cmove eax, ecx
jmp 0x100142e5
lea ecx, [esp + 0x64]
call fcn.10004df6
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
add esp, 0x484
pop esi
pop edi
pop ebx
pop ebp
ret