Function at 0x4193b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x1c]
mov edi, edx
mov edx, dword [ebp + 8]
mov ebx, dword [ecx + 0x14]
mov byte [esp + 0x20], 0x30
mov dword [esp + 0x1c], 0x30303030
mov dword [esp + 0x18], 0x30303030
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4195ed
mov dword [esp + 8], edi
mov edi, dword [ebp + 0x10]
test esi, esi
mov ecx, 9
cmovne ecx, ebx
test ecx, ecx
mov dword [esp + 0xc], ecx
je 0x4195f6
xor edx, edx
mov dword [esp], esi
div edi
add al, 0x30
mov ecx, edx
mov edx, 0xcccccccd
mov byte [esp + 0x18], al
mov eax, edi
mul edx
test ecx, ecx
je 0x419614
mov eax, dword [esp + 0xc]
shr edx, 3
cmp eax, 1
je 0x4195d0
cmp edi, 0xa
mov dword [esp + 4], ebx
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div esi
mov esi, 0x51eb851f
add al, 0x30
mov ecx, edx
mov byte [esp + 0x19], al
mov eax, edi
mul esi
test ecx, ecx
je 0x41961e
mov eax, dword [esp + 0xc]
shr edx, 5
cmp eax, 2
je 0x4195cc
cmp edi, 0x64
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div esi
mov esi, 0x10624dd3
add al, 0x30
mov ecx, edx
mov byte [esp + 0x1a], al
mov eax, edi
mul esi
test ecx, ecx
je 0x419628
mov eax, dword [esp + 0xc]
shr edx, 6
cmp eax, 3
je 0x4195cc
cmp edi, 0x3e8
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div esi
mov esi, 0xd1b71759
add al, 0x30
mov ecx, edx
mov byte [esp + 0x1b], al
mov eax, edi
mul esi
test ecx, ecx
je 0x419632
mov eax, dword [esp + 0xc]
shr edx, 0xd
cmp eax, 4
je 0x4195cc
cmp edi, 0x2710
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div esi
mov esi, 0xa7c5ac5
add al, 0x30
mov ecx, edx
mov byte [esp + 0x1c], al
mov eax, edi
shr eax, 5
mul esi
test ecx, ecx
je 0x41963c
mov eax, dword [esp + 0xc]
shr edx, 7
cmp eax, 5
je 0x4195cc
cmp edi, 0x186a0
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div esi
mov esi, 0x431bde83
add al, 0x30
mov ecx, edx
mov byte [esp + 0x1d], al
mov eax, edi
mul esi
test ecx, ecx
je 0x419646
mov eax, dword [esp + 0xc]
shr edx, 0x12
cmp eax, 6
je 0x4195cc
cmp edi, 0xf4240
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div si
add al, 0x30
mov ecx, edx
mov edx, 0x6b5fca6b
mov byte [esp + 0x1e], al
mov eax, edi
mul edx
test cx, cx
je 0x419650
mov eax, dword [esp + 0xc]
shr edx, 0x16
cmp eax, 7
jne 0x41965a
movzx ecx, cx
mov ebx, dword [esp + 4]
mov esi, dword [esp]
lea edi, [edx + edx*4]
mov dword [esp + 0x2c], eax
cmp ecx, edi
jae 0x4196bc
mov ecx, dword [esp + 8]
mov edi, ebx
jmp 0x419768
mov ecx, edi
xor edi, edi
jmp 0x419764
lea ecx, [edi + edi*4]
mov dword [esp + 0x2c], 0
cmp ecx, eax
jbe 0x419711
mov ecx, dword [esp + 8]
xor edi, edi
jmp 0x419768
mov edi, 1
jmp 0x41975d
mov edi, 2
jmp 0x419759
mov edi, 3
jmp 0x419759
mov edi, 4
jmp 0x419759
mov edi, 5
jmp 0x419759
mov edi, 6
jmp 0x419759
mov edi, 7
jmp 0x419759
cmp edi, 0x989680
jb 0x419a2a
mov esi, edx
mov eax, ecx
xor edx, edx
div si
add al, 0x30
mov ecx, edx
mov edx, 0x55e63b89
mov byte [esp + 0x1f], al
mov eax, edi
mul edx
test cx, cx
je 0x419732
shr edx, 0x19
cmp dword [esp + 0xc], 8
mov dword [esp + 0x28], edx
jne 0x419739
mov ebx, dword [esp + 4]
mov esi, dword [esp]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
movzx ecx, cx
lea edi, [edx + edx*4]
mov dword [esp + 0x2c], eax
cmp ecx, edi
jb 0x4195e2
lea eax, [ebx - 1]
mov cl, 1
xor edi, edi
mov esi, 0x30
mov dword [esp + 4], ebx
nop dword [eax]
movzx edx, byte [esp + eax + 0x18]
movzx ecx, cl
mov dh, dl
inc dh
cmp dl, 0x39
movzx edx, dh
cmovb ecx, edi
cmovae edx, esi
mov byte [esp + eax + 0x18], dl
add eax, 0xffffffff
setb dl
test cl, 1
je 0x4196fb
test dl, dl
jne 0x4196d0
mov ebx, dword [esp + 4]
mov esi, dword [esp]
test cl, 1
jne 0x419711
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp 0x419768
mov edx, dword [esp + 8]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0xc]
add edx, 1
adc eax, 0
mov ecx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], eax
jmp 0x419768
mov edi, 8
jmp 0x419759
cmp edi, 0x5f5e100
jb 0x419a2a
mov eax, ecx
xor edx, edx
mov edi, 9
div word [esp + 0x28]
add al, 0x30
mov byte [esp + 0x20], al
mov ebx, dword [esp + 4]
mov esi, dword [esp]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], edi
lea eax, [esp + 0x44]
mov edx, dword [esp + 0x14]
cmp ebx, 9
mov dword [esp + 0x54], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x68], eax
mov eax, 9
cmovb eax, ebx
test esi, esi
cmove eax, edi
cmp dword [edx + 8], 1
mov dword [esp + 0x40], eax
jne 0x419987
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], edi
xor edi, edi
mov dword [esp], esi
cmp ecx, 8
mov eax, ebx
jb 0x41986c
movdqa xmm2, xmmword [0x50d9d0]
movdqa xmm3, xmmword [0x50d9e0]
and ecx, 0xfffffff8
lea edx, [ebx + 4]
pxor xmm0, xmm0
pxor xmm1, xmm1
lea eax, [ebx + ecx]
mov edi, ecx
nop word cs:[eax + eax]
nop dword [eax]
movd xmm5, dword [edx - 4]
movd xmm4, dword [edx]
add edx, 8
add edi, 0xfffffff8
pcmpgtb xmm5, xmm2
pcmpgtb xmm4, xmm2
punpcklbw xmm5, xmm5
punpcklwd xmm5, xmm5
pand xmm5, xmm3
paddd xmm0, xmm5
punpcklbw xmm4, xmm4
punpcklwd xmm4, xmm4
pand xmm4, xmm3
paddd xmm1, xmm4
jne 0x419810
paddd xmm1, xmm0
mov edx, dword [ebp + 0x20]
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
cmp ecx, edx
mov ecx, edx
movd edi, xmm1
je 0x419881
add ebx, ecx
nop
xor ecx, ecx
cmp byte [eax], 0xc0
lea eax, [eax + 1]
setge cl
add edi, ecx
cmp eax, ebx
jne 0x419870
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x10]
add edi, dword [ebp + 0x18]
mov ebx, dword [edx + 0xc]
mov eax, ecx
or eax, esi
je 0x419914
mov eax, esi
mov dword [esp + 0x10], esi
shld eax, ecx, 0x16
mov dword [esp + 0x24], eax
mov eax, esi
shr eax, 0xa
mov dword [esp + 0x3c], eax
push 2
push 0x540be400
push esi
push ecx
call fcn.004f50c4
add esp, 0x10
mov ecx, 0x9502f8
mov esi, 0
cmp ecx, dword [esp + 0x24]
mov ecx, 0
sbb ecx, dword [esp + 0x3c]
mov ecx, 0xa
cmovae edx, dword [esp + 0x10]
cmovae eax, dword [esp + 8]
cmovae ecx, esi
mov dword [esp + 0x24], ecx
cmp eax, 0x186a0
mov ecx, edx
sbb ecx, 0
jb 0x41991b
push 0
push 0x186a0
push edx
push eax
call fcn.004f50c4
add esp, 0x10
mov esi, dword [esp + 0x24]
or esi, 5
jmp 0x41991f
mov eax, 1
jmp 0x419947
mov esi, dword [esp + 0x24]
lea ecx, [eax + 0x5fff6]
lea edx, [eax + 0x7ff9c]
and ecx, edx
lea edx, [eax + 0xdfc18]
add eax, 0x7d8f0
and eax, edx
mov edx, dword [esp + 0x14]
xor eax, ecx
shr eax, 0x11
lea eax, [esi + eax + 1]
mov ecx, dword [esp]
add edi, eax
mov eax, dword [esp + 0xc]
test ecx, ecx
cmovne eax, dword [esp + 4]
cmp dword [esp + 0x28], 0
lea eax, [eax + edi + 1]
cmove eax, edi
sub ebx, eax
jbe 0x419987
mov eax, dword [edx + 0x20]
xor ecx, ecx
cmp al, 3
cmovne ecx, eax
movzx eax, cl
test cl, cl
je 0x419999
cmp eax, 1
jne 0x419992
mov dword [esp + 0x10], 0
jmp 0x41999f
lea ecx, [esp + 0x54]
call fcn.00419a40
jmp 0x4199df
mov eax, ebx
inc ebx
shr eax, 1
shr ebx, 1
mov dword [esp + 0x10], ebx
mov ebx, eax
mov eax, dword [edx + 0x18]
mov esi, edx
mov edi, dword [edx + 4]
mov esi, dword [edx + 0x1c]
inc ebx
mov dword [esp + 8], eax
nop
dec ebx
je 0x4199c4
push edi
push dword [esp + 0xc]
call dword [esi + 0x10]
add esp, 8
test al, al
je 0x4199b0
jmp 0x4199dd
cmp edi, 0x110000
je 0x4199dd
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x54]
call fcn.00419a40
test al, al
je 0x4199e7
mov al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x10]
mov ebx, 0xffffffff
neg eax
mov dword [esp + 0x14], eax
nop word cs:[eax + eax]
mov eax, dword [esp + 0x14]
add eax, ebx
cmp eax, 0xffffffff
je 0x419a1d
push edi
push dword [esp + 0xc]
call dword [esi + 0x10]
add esp, 8
inc ebx
test al, al
je 0x419a00
jmp 0x419a21
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x10]
setb al
jmp 0x4199df
push 0x50ef14
push 0x19
push str.attempt_to_divide_by_zero
call fcn.00414ad0
add esp, 0xc
ud2