Function at 0x430230
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov edi, ecx
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
mov ebx, edx
mov byte [esp + 0x20], 0x30
mov dword [esp + 0x1c], 0x30303030
mov dword [esp + 0x18], 0x30303030
mov edx, dword [edi + 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ecx
call 0x430279
pop ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0xc]
test eax, eax
je 0x4304ff
mov edi, ebx
mov ebx, dword [ebp + 0x10]
test edx, edx
mov edx, 9
mov dword [esp + 0xc], ecx
cmovne edx, ecx
test edx, edx
mov dword [esp + 8], edx
je 0x430506
xor edx, edx
div ebx
add al, 0x30
mov ecx, edx
mov edx, 0xcccccccd
mov byte [esp + 0x18], al
mov eax, ebx
mov dword [esp + 4], ecx
mul edx
test ecx, ecx
je 0x430523
mov ecx, dword [esp + 8]
shr edx, 3
mov ebx, edi
cmp ecx, 1
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0xa
jb 0x430953
mov eax, dword [esp + 4]
xor edx, edx
mov edi, 0x51eb851f
div dword [esp]
add al, 0x30
mov byte [esp + 0x19], al
mov eax, ecx
mov ecx, edx
mul edi
test ecx, ecx
mov dword [esp + 4], ecx
je 0x4305a4
mov ecx, dword [esp + 8]
shr edx, 5
cmp ecx, 2
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0x64
jb 0x430953
mov eax, dword [esp + 4]
xor edx, edx
mov edi, 0x10624dd3
div dword [esp]
add al, 0x30
mov byte [esp + 0x1a], al
mov eax, ecx
mov ecx, edx
mul edi
test ecx, ecx
mov dword [esp + 4], ecx
je 0x4305db
mov ecx, dword [esp + 8]
shr edx, 6
cmp ecx, 3
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0x3e8
jb 0x430953
mov eax, dword [esp + 4]
xor edx, edx
mov edi, 0xd1b71759
div dword [esp]
add al, 0x30
mov byte [esp + 0x1b], al
mov eax, ecx
mov ecx, edx
mul edi
test ecx, ecx
mov dword [esp + 4], ecx
je 0x4305e6
mov ecx, dword [esp + 8]
shr edx, 0xd
cmp ecx, 4
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0x2710
jb 0x430953
mov eax, dword [esp + 4]
xor edx, edx
mov edi, 0xa7c5ac5
div dword [esp]
add al, 0x30
mov byte [esp + 0x1c], al
mov eax, ecx
mov ecx, edx
shr eax, 5
mov dword [esp + 4], ecx
mul edi
test ecx, ecx
je 0x4305f1
mov ecx, dword [esp + 8]
shr edx, 7
cmp ecx, 5
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0x186a0
jb 0x430953
mov eax, dword [esp + 4]
xor edx, edx
mov edi, 0x431bde83
div dword [esp]
add al, 0x30
mov byte [esp + 0x1d], al
mov eax, ecx
mov ecx, edx
mul edi
test ecx, ecx
mov dword [esp + 4], ecx
je 0x4305fc
mov ecx, dword [esp + 8]
shr edx, 0x12
cmp ecx, 6
je 0x4304e7
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0xf4240
jb 0x430953
xor edx, edx
mov eax, dword [esp + 4]
div word [esp]
add al, 0x30
mov edi, edx
mov edx, 0x6b5fca6b
mov byte [esp + 0x1e], al
mov eax, ecx
mul edx
test di, di
je 0x430607
mov ecx, dword [esp + 8]
shr edx, 0x16
cmp ecx, 7
je 0x4304e0
mov ecx, dword [ebp + 0x10]
mov dword [esp], edx
cmp ecx, 0x989680
jb 0x430953
mov eax, edi
xor edx, edx
div word [esp]
add al, 0x30
mov edi, edx
mov edx, 0x55e63b89
mov byte [esp + 0x1f], al
mov eax, ecx
mul edx
test di, di
je 0x430612
shr edx, 0x19
cmp dword [esp + 8], 8
mov dword [esp], edx
jne 0x43092a
mov ecx, dword [esp + 8]
mov edx, dword [esp]
movzx eax, di
mov dword [esp + 4], eax
lea eax, [edx + edx*4]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 4], eax
jae 0x430533
mov edx, ecx
mov ecx, dword [esp + 0xc]
jmp 0x43061f
xor edx, edx
jmp 0x43061b
mov ecx, dword [esp + 0xc]
lea ebx, [ebx + ebx*4]
xor edx, edx
mov dword [esp + 0x2c], 0
cmp ebx, eax
mov ebx, edi
ja 0x43061f
jmp 0x430574
mov ecx, dword [esp + 0xc]
mov edx, 1
mov ebx, edi
jmp 0x43061b
lea eax, [ecx - 1]
mov esi, 0x30
mov dword [esp + 4], ebx
nop
movzx ebx, byte [esp + eax + 0x18]
mov edi, eax
mov edx, ebx
inc dl
add eax, 0xffffffff
setb dh
cmp bl, 0x39
movzx ecx, dl
cmovae ecx, esi
mov byte [esp + edi + 0x18], cl
jb 0x430564
test dh, dh
jne 0x430540
cmp bl, 0x38
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov esi, dword [ebp + 0x1c]
jbe 0x4305af
mov eax, dword [ebp + 8]
add ebx, 1
adc eax, 0
jae 0x430596
mov al, 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp], eax
jmp 0x4305d1
mov dword [esp + 4], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], eax
jmp 0x4305b6
mov ecx, dword [esp + 0xc]
mov edx, 2
jmp 0x43061b
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 1
mov dword [esp], 0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 8]
jmp 0x430649
mov ecx, dword [esp + 0xc]
mov edx, 3
jmp 0x43061b
mov ecx, dword [esp + 0xc]
mov edx, 4
jmp 0x43061b
mov ecx, dword [esp + 0xc]
mov edx, 5
jmp 0x43061b
mov ecx, dword [esp + 0xc]
mov edx, 6
jmp 0x43061b
mov ecx, dword [esp + 0xc]
mov edx, 7
jmp 0x43061b
mov ecx, dword [esp + 0xc]
mov edx, 8
mov dword [esp + 0x2c], edx
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 0x38], ebx
mov dword [esp], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 1
lea eax, [esp + 0x30]
cmp ecx, 9
mov ebx, 9
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x4c]
cmovb ebx, ecx
test edi, edi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x48]
cmove ebx, edx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x43082c
mov dword [esp + 8], edx
mov edx, dword [ebp + 0x20]
xor eax, eax
mov edi, 0
cmp edx, 8
jb 0x43073a
movdqa xmm2, xmmword [0x725820]
movdqa xmm3, xmmword [0x7257a0]
mov eax, edx
lea edi, [esi + 4]
pxor xmm0, xmm0
pxor xmm1, xmm1
and eax, 0xfffffff8
mov edx, eax
nop word cs:[eax + eax]
nop dword [eax]
movd xmm5, dword [edi - 4]
movd xmm4, dword [edi]
add edi, 8
add edx, 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 0x4306e0
paddd xmm1, xmm0
mov edx, dword [ebp + 0x20]
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
cmp eax, edx
movd edi, xmm1
je 0x43074e
sub edx, eax
add esi, eax
nop
xor eax, eax
cmp byte [esi], 0xc0
setge al
inc esi
add edi, eax
dec edx
jne 0x430740
mov eax, dword [esp + 0x14]
add edi, dword [ebp + 0x18]
cmp byte [esp], 0
mov edx, dword [esp + 8]
mov esi, dword [eax + 4]
mov eax, 0x14
jne 0x430844
mov dword [esp], esi
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x28]
or eax, esi
je 0x43083c
mov eax, dword [esp + 4]
mov edx, esi
mov dword [esp + 0xc], ecx
mov ecx, esi
shr edx, 0xa
mov dword [esp + 0x24], edx
shld ecx, eax, 0x16
mov dword [esp + 0x40], ecx
push 2
push 0x540be400
push esi
push eax
call fcn.007082d0
mov ecx, 0x9502f8
mov dword [esp + 0x28], esi
mov esi, 0
cmp ecx, dword [esp + 0x40]
mov ecx, 0
sbb ecx, dword [esp + 0x24]
mov ecx, 0xa
cmovae edx, dword [esp + 0x28]
cmovae eax, dword [esp + 4]
cmovae ecx, esi
mov dword [esp + 0x24], ecx
cmp eax, 0x186a0
mov ecx, edx
sbb ecx, 0
jb 0x4307f7
push 0
push 0x186a0
push edx
push eax
call fcn.007082d0
or dword [esp + 0x24], 5
lea ecx, [eax + 0x5fff6]
lea edx, [eax + 0x7ff9c]
mov esi, dword [esp]
and ecx, edx
lea edx, [eax + 0xdfc18]
add eax, 0x7d8f0
and eax, edx
mov edx, dword [esp + 8]
xor eax, ecx
mov ecx, dword [esp + 0x24]
shr eax, 0x11
lea eax, [ecx + eax + 1]
mov ecx, dword [esp + 0xc]
jmp 0x430844
lea ecx, [esp + 0x5c]
mov edx, eax
call fcn.00430980
jmp 0x4308df
mov esi, dword [esp]
mov eax, 1
cmp dword [esp + 0x10], 0
cmove ecx, edx
inc ecx
test ebx, ebx
cmove ecx, ebx
add ecx, eax
add edi, ecx
sub esi, edi
jbe 0x430879
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
xor ebx, ebx
movzx eax, byte [ecx + 0x20]
add edx, dword [eax*4 + 0x43096c]
mov eax, esi
jmp edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x5c]
call fcn.00430980
jmp 0x4308df
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [ebp + 0x10], 0x5f5e100
jb 0x430953
mov eax, edi
xor edx, edx
div word [esp]
mov ecx, dword [esp + 0xc]
mov edx, 9
mov dword [esp + 0x2c], edx
add al, 0x30
mov byte [esp + 0x20], al
jmp 0x43061f
mov ecx, 0x72b6d0
mov edx, 0x19
push 0x72c458
call fcn.0070a0f0
add esp, 4
ud2