Function at 0x46b8f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov eax, dword [ebp + 8]
lea edx, [esp + 0x50]
movzx ecx, byte [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
call dword [ecx*4 + 0x5a5980]
add esp, 0xc
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov ebx, 0xd53e8000
mov edi, 0x19db1de
mov eax, esi
mov edx, ecx
add eax, 0x2ac18000
adc edx, 0xfe624e21
sub ebx, esi
sbb edi, ecx
cmp esi, 0xd53e8000
sbb ecx, 0x19db1de
cmovge edi, edx
cmovge ebx, eax
setge byte [esp + 0xc]
push 0
push 0x989680
push edi
push ebx
call sym.___udivdi3
add esp, 0x10
mov dword [esp + 8], edx
imul edx, eax, 0xff676980
mov esi, eax
add edx, ebx
imul eax, edx, 0x64
cmp byte [esp + 0xc], 0
mov dword [esp + 0x3c], eax
je 0x46c21e
mov ecx, 0xfc81bfff
mov al, 1
cmp ecx, ebx
mov ecx, 0x232aa87f
sbb ecx, edi
jb 0x46bf45
mov dword [esp + 0x4c], edx
push 0xc9
push 0x2a69c000
push edi
push ebx
call sym.___udivdi3
add esp, 0x10
mov ebx, eax
push 0
push 0x15180
push dword [esp + 0x10]
push esi
call sym.___umoddi3
add esp, 0x10
add ebx, 0xffffd4f7
mov dword [esp + 0x48], eax
mov ecx, 0x396b06bd
mov dword [esp + 0xc], 0
mov eax, ebx
imul ecx
mov eax, edx
sar edx, 0xf
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x23ab1
mov dword [esp + 4], edx
sub ebx, eax
mov eax, ebx
mov edi, ebx
sar eax, 0x1f
add edi, 0x23ab1
mov esi, eax
mov dword [esp + 8], eax
adc esi, 0
test ebx, ebx
cmovns edi, ebx
cmovns esi, eax
mov ebx, 0
mov eax, edi
mov ecx, esi
add eax, 0xfffdc550
adc ecx, 0xffffffff
cmp eax, 0x8eac
sbb ecx, 0
mov ecx, 3
jb 0x46ba4c
push 0
push 0x8eac
push esi
push edi
call sym.___udivdi3
add esp, 0x10
mov ecx, eax
mov ebx, edx
mov edx, 0xffff7154
mov eax, ecx
mov dword [esp + 0x38], ebx
imul ebx, ebx, 0xffff7154
mov dword [esp], ecx
mul edx
sub edx, ecx
add ebx, edx
add eax, edi
mov edi, 0x18
adc ebx, esi
mov esi, eax
add eax, 0xffff7153
mov ecx, ebx
adc ecx, 0xffffffff
cmp eax, 0x5b5
sbb ecx, 0
jb 0x46ba9c
push 0
push 0x5b5
push ebx
push esi
call sym.___divdi3
add esp, 0x10
mov edi, eax
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 4]
mov eax, edi
mov dword [esp + 4], edi
add dword [esp + 8], ecx
mov ecx, 0xfffffa4b
mul ecx
sub edx, edi
imul edi, dword [esp + 0xc], 0xfffffa4b
add edi, edx
add eax, esi
adc edi, ebx
mov dword [esp + 0x34], eax
add eax, 0xfffffa4c
mov ebx, 3
mov ecx, edi
adc ecx, 0xffffffff
cmp eax, 0x16d
sbb ecx, 0
mov ecx, 0
jb 0x46bafb
push 0
push 0x16d
push edi
push dword [esp + 0x40]
call sym.___divdi3
add esp, 0x10
mov ebx, eax
mov ecx, edx
mov esi, 0xfffffe93
mov eax, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ecx
mul esi
mov esi, eax
sub edx, ebx
imul ebx, ecx, 0xfffffe93
mov eax, dword [esp]
add ebx, edx
add esi, dword [esp + 0x34]
mov edx, 0x64
adc ebx, edi
mul edx
imul edi, dword [esp + 0x38], 0x64
imul ecx, dword [esp + 8], 0x190
mov dword [esp + 0x34], eax
mov eax, dword [esp + 4]
add edi, edx
mov edx, 0x1e
mov dword [esp + 0x38], ecx
shld dword [esp + 0xc], eax, 2
shl eax, 2
cmp edx, esi
mov edx, 0
sbb edx, ebx
jl 0x46bb6a
xor ecx, ecx
mov dword [esp], 0
jmp 0x46bc9e
mov edx, esi
mov ecx, ebx
mov dword [esp + 4], eax
mov dword [esp], esi
add edx, 0xffffffe1
adc ecx, 0xffffffff
cmp edx, 0x1e
mov eax, ecx
sbb ecx, 0
jae 0x46bb8e
mov esi, edx
mov cl, 1
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffffc3
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1f
mov edx, ecx
sbb edx, 0
jae 0x46bbae
mov eax, ecx
mov cl, 2
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffffa4
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1e
mov edx, ecx
sbb edx, 0
jae 0x46bbce
mov eax, ecx
mov cl, 3
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffff86
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1f
mov edx, ecx
sbb edx, 0
jae 0x46bbee
mov eax, ecx
mov cl, 4
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffff67
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1f
mov edx, ecx
sbb edx, 0
jae 0x46bc11
mov eax, ecx
mov cl, 5
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffff48
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1e
mov edx, ecx
sbb edx, 0
jae 0x46bc31
mov eax, ecx
mov cl, 6
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffff2a
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1f
mov edx, ecx
sbb edx, 0
jae 0x46bc51
mov eax, ecx
mov cl, 7
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xffffff0b
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1e
mov edx, ecx
sbb edx, 0
jae 0x46bc71
mov eax, ecx
mov cl, 8
jmp 0x46bc93
mov edx, dword [esp]
mov ecx, ebx
add edx, 0xfffffeed
adc ecx, 0xffffffff
mov esi, edx
cmp edx, 0x1f
mov edx, ecx
sbb edx, 0
jae 0x46c1b2
mov eax, ecx
mov cl, 9
mov ebx, eax
mov eax, dword [esp + 4]
mov dword [esp], ecx
xor ecx, ecx
add esi, 1
mov edx, dword [esp + 0x38]
mov byte [esp + 0x14], 0x2d
mov byte [esp + 0x17], 0x2d
mov byte [esp + 0x1a], 0x54
mov byte [esp + 0x1d], 0x3a
mov byte [esp + 0x20], 0x3a
mov byte [esp + 0x23], 0x2e
mov word [esp + 0x2c], 0x5a30
mov dword [esp + 0x28], 0x30303030
mov dword [esp + 0x24], 0x30303030
adc ebx, 0
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x34]
add edx, 0x7d0
add ebx, edx
mov edx, 3
adc edi, 0
add ebx, eax
movzx eax, cl
adc edi, dword [esp + 0xc]
add ebx, dword [esp + 0x44]
adc edi, dword [esp + 0x40]
add ebx, eax
mov eax, 0xf7
adc edi, 0
test cl, cl
cmovne edx, eax
add dl, byte [esp]
mov dword [esp + 0xc], edx
push 0
push 0x3e8
push edi
push ebx
call sym.___udivdi3
add esp, 0x10
add al, 0x30
mov byte [esp + 0x10], al
push 0
push 0x64
push edi
push ebx
call sym.___udivdi3
add esp, 0x10
mov ecx, eax
mov esi, edx
mov eax, edx
mov edx, 0xcccccccd
shr eax, 1
shld esi, ecx, 0x1f
add esi, eax
adc esi, 0
and ecx, 1
mov eax, esi
mul edx
shr edx, 2
lea eax, [edx + edx*4]
mov edx, 0xcccccccd
sub esi, eax
lea eax, [ecx + esi*2]
mov esi, edi
shr edi, 1
shld esi, ebx, 0x1f
or al, 0x30
mov ecx, esi
mov byte [esp + 0x11], al
add ecx, edi
adc ecx, 0
mov eax, ecx
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
sub esi, ecx
mov ecx, 0xcccccccd
mov eax, esi
sbb edi, 0
mul ecx
mov ecx, eax
imul eax, esi, 0xcccccccc
imul esi, edi, 0xcccccccd
mov edi, 0xcccccccd
add eax, edx
mov edx, 0xcccccccd
add esi, eax
mov eax, esi
shr esi, 1
shld eax, ecx, 0x1f
add esi, eax
adc esi, 0
mov eax, esi
mul edx
shr edx, 2
lea eax, [edx + edx*4]
mov edx, dword [esp + 0xc]
sub esi, eax
mov eax, ecx
add ecx, ecx
and eax, 1
lea eax, [eax + esi*2]
or al, 0x30
mov byte [esp + 0x12], al
lea eax, [ecx + ecx*4]
sub ebx, eax
movsx eax, dl
imul ecx, eax, 0x67
or bl, 0x30
movzx eax, cx
shr ecx, 0xa
mov byte [esp + 0x13], bl
shr eax, 0xf
add al, cl
movzx ecx, al
add al, 0x30
add ecx, ecx
mov byte [esp + 0x15], al
lea eax, [ecx + ecx*4]
mov ecx, edx
sub cl, al
add cl, 0x30
mov byte [esp + 0x16], cl
push 0
push 0xa
push dword [esp + 0xc]
mov esi, dword [esp + 0x14]
push esi
call sym.___divdi3
add esp, 0x10
mov ecx, eax
add eax, eax
mov ebx, dword [esp + 0x48]
add cl, 0x30
lea eax, [eax + eax*4]
mov byte [esp + 0x18], cl
mov ecx, esi
sub ecx, eax
add cl, 0x30
mov eax, ebx
mov byte [esp + 0x19], cl
mov ecx, 0x91a2b3c5
mul ecx
mov eax, ebx
mov ecx, edx
mov edx, 0xe90452d5
shr ecx, 0xb
mul edx
movzx eax, cl
shr edx, 0xf
imul eax, eax, 0xcd
or dl, 0x30
shr eax, 0xa
mov byte [esp + 0x1b], dl
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub cl, al
mov eax, ebx
or cl, 0x30
mov byte [esp + 0x1c], cl
mov ecx, 0x88888889
mul ecx
mov eax, ebx
mov ecx, edx
mov edx, 0x1b4e81b5
mul edx
shr ecx, 5
shr edx, 6
movzx eax, dl
imul eax, eax, 0xab
shr eax, 9
and eax, 0xfffffffe
lea eax, [eax + eax*2]
sub dl, al
movzx eax, cx
imul eax, eax, 0xcccd
or dl, 0x30
shr eax, 0x12
mov byte [esp + 0x1e], dl
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub ecx, eax
mov eax, ebx
mul edi
or cl, 0x30
mov edi, dword [esp + 0x4c]
shr edx, 3
mov byte [esp + 0x1f], cl
movzx eax, dx
mov ecx, edx
add edx, edx
imul eax, eax, 0xaaab
shr eax, 0x11
and eax, 0xfffffffe
lea eax, [eax + eax*2]
sub ecx, eax
lea eax, [edx + edx*4]
sub ebx, eax
movzx eax, byte [esp + 0x58]
or cl, 0x30
or bl, 0x30
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], bl
cmp eax, 1
je 0x46bf26
test edi, edi
jne 0x46bf4d
test al, al
jne 0x46bf4d
mov byte [esp + 0x23], 0x5a
mov eax, 0x14
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x10]
mov ecx, dword [esi + 0x18]
push eax
push edx
push dword [esi + 0x14]
call dword [ecx + 0xc]
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x431bde83
cmp eax, 2
je 0x46c03e
cmp eax, 3
jne 0x46c0ac
mov eax, edi
mov esi, 0x1999999a
mul ecx
mov eax, edi
mov ecx, 0xa7c5ac5
shr edx, 0x12
shr eax, 5
or dl, 0x30
mov byte [esp + 0x24], dl
mul ecx
mov ecx, 0xd1b71759
shr edx, 7
movzx eax, dl
imul eax, eax, 0xcd
shr eax, 0xa
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub dl, al
mov eax, edi
or dl, 0x30
mov byte [esp + 0x25], dl
mul ecx
mov ecx, 0x10624dd3
shr edx, 0xd
movzx eax, dx
imul eax, eax, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub edx, eax
mov eax, edi
or dl, 0x30
mov byte [esp + 0x26], dl
mul ecx
mov ecx, 0x51eb851f
shr edx, 6
movzx eax, dx
imul eax, eax, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub edx, eax
mov eax, edi
or dl, 0x30
mov byte [esp + 0x27], dl
mul ecx
mov ecx, edx
shr ecx, 5
mov eax, ecx
mul esi
add edx, edx
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, edi
or cl, 0x30
mov byte [esp + 0x28], cl
mov ecx, 0xcccccccd
mul ecx
mov ecx, edx
shr ecx, 3
mov eax, ecx
mul esi
add edx, edx
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0x1b
or cl, 0x30
mov byte [esp + 0x29], cl
mov byte [esp + 0x2a], 0x5a
jmp 0x46bf30
mov eax, edi
mul ecx
mov eax, edi
mov ecx, 0xa7c5ac5
shr edx, 0x12
shr eax, 5
or dl, 0x30
mov byte [esp + 0x24], dl
mul ecx
mov ecx, 0xd1b71759
shr edx, 7
movzx eax, dl
imul eax, eax, 0xcd
shr eax, 0xa
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub dl, al
mov eax, edi
or dl, 0x30
mov byte [esp + 0x25], dl
mul ecx
shr edx, 0xd
movzx eax, dx
imul eax, eax, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub edx, eax
mov eax, 0x18
or dl, 0x30
mov byte [esp + 0x26], dl
mov byte [esp + 0x27], 0x5a
jmp 0x46bf30
mov eax, edi
mov ebx, edi
mov esi, 0xcccccccd
mul ecx
mov eax, edi
mov ecx, 0xa7c5ac5
shr edx, 0x12
shr eax, 5
or dl, 0x30
mov byte [esp + 0x24], dl
mul ecx
mov ecx, 0xd1b71759
shr edx, 7
movzx eax, dl
imul eax, eax, 0xcd
shr eax, 0xa
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub dl, al
mov eax, edi
or dl, 0x30
mov byte [esp + 0x25], dl
mul ecx
mov ecx, 0x10624dd3
shr edx, 0xd
movzx eax, dx
imul eax, eax, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub edx, eax
mov eax, edi
or dl, 0x30
mov byte [esp + 0x26], dl
mul ecx
mov ecx, 0x51eb851f
shr edx, 6
movzx eax, dx
imul eax, eax, 0xcccd
shr eax, 0x12
and eax, 0xfffffffe
lea eax, [eax + eax*4]
sub edx, eax
mov eax, edi
mov edi, 0x1999999a
or dl, 0x30
mov byte [esp + 0x27], dl
mul ecx
mov ecx, edx
shr ecx, 5
mov eax, ecx
mul edi
add edx, edx
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, ebx
or cl, 0x30
mul esi
mov byte [esp + 0x28], cl
mov ecx, edx
shr ecx, 3
mov eax, ecx
mul edi
add edx, edx
lea eax, [edx + edx*4]
mov edx, ecx
add ecx, ecx
sub edx, eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x3c]
sub ebx, eax
or dl, 0x30
mov byte [esp + 0x29], dl
or bl, 0x30
mov byte [esp + 0x2a], bl
mov byte [esp + 0x2b], 0x30
mov eax, ecx
mul esi
shr edx, 2
and edx, 0xfffffffe
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0x1e
or cl, 0x30
mov byte [esp + 0x2c], cl
jmp 0x46bf30
mov esi, dword [esp]
mov ecx, ebx
add esi, 0xfffffece
adc ecx, 0xffffffff
mov dword [esp + 8], esi
cmp esi, 0x1f
mov esi, ecx
sbb esi, 0
jae 0x46c1e6
mov eax, ecx
mov esi, dword [esp + 8]
mov eax, dword [esp + 4]
mov dl, 0xa
mov ebx, ecx
mov cl, 1
mov dword [esp], edx
jmp 0x46bc9e
mov eax, dword [esp]
mov edx, ebx
mov ecx, eax
add ecx, 0xfffffeaf
adc edx, 0xffffffff
add eax, 0xfffffe92
adc ebx, 0xffffffff
cmp ecx, 0x1d
mov esi, edx
sbb esi, 0
cmovb eax, ecx
mov cl, 0xb
cmovb ebx, edx
mov esi, eax
mov eax, dword [esp + 4]
mov dword [esp], ecx
mov cl, 1
jmp 0x46bc9e
mov eax, dword [esp + 8]
mov dword [esp + 0x10], esi
mov ecx, 0x55448f
mov edx, 0x23
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
push 0x5544b4
push 0x554404
push eax
call dbg.unwrap_failed
add esp, 0xc
ud2