Function at 0x411fb0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x43c004]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0x60
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
push ebx
cdq
mov ebx, 3
idiv ebx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
push esi
mov esi, ecx
mov ecx, 5
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], ecx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x18], edi
test edx, edx
je 0x412037
add eax, 2
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412012
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x412121
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412030
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412018
jmp 0x412121
and eax, 0x80000001
jns 0x412045
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412078
mov eax, 2
sub eax, edi
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ebx
test edx, edx
jne 0x412121
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ebx
test edx, edx
je 0x412062
jmp 0x412121
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412089
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4120db
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4120ab
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x412121
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4120c2
dec eax
jmp 0x4120c3
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4120d7
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4120b2
jmp 0x412121
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
test edx, edx
je 0x412121
mov eax, dword [ebp - 0x10]
lea ecx, [edi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ebx
test edx, edx
jne 0x412121
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412113
inc eax
jmp 0x412114
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ebx
test edx, edx
je 0x412103
push 0x35
push 0xe6b09957
mov edx, 0x10
call fcn.004081b0
add esp, 8
lea ebx, [edi + 0x58]
push ebx
push 0x20
push esi
call eax
test eax, eax
je 0x412c35
mov dword [ebp - 0x10], 0x3c62ba
mov esi, 3
mov eax, dword [ebp - 0x10]
cdq
idiv esi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x41219f
add eax, 2
add eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412178
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x412294
nop
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412198
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412180
jmp 0x412294
and eax, 0x80000001
jns 0x4121ad
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4121e6
mov eax, 2
sub eax, ebx
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv esi
test edx, edx
jne 0x412294
nop word [eax + eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv esi
test edx, edx
je 0x4121d0
jmp 0x412294
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4121f7
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412249
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412219
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x412294
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412230
dec eax
jmp 0x412231
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412245
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412220
jmp 0x412294
mov eax, dword [ebp - 0x10]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x412294
mov eax, dword [ebp - 0x10]
lea ecx, [ebx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv esi
test edx, edx
jne 0x412294
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412286
inc eax
jmp 0x412287
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv esi
test edx, edx
je 0x412276
push 0x35
push 0xe6b09957
mov edx, 0x10
call fcn.004081b0
add esp, 8
lea esi, [edi + 0x50]
push esi
push 8
push dword [ebp - 0x20]
call eax
test eax, eax
je 0x412c35
mov dword [ebp - 0x10], 0x3c62ba
mov ecx, 3
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412312
add eax, 2
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4122ed
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x412405
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x41230b
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4122f3
jmp 0x412405
and eax, 0x80000001
jns 0x412320
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412356
mov eax, 2
sub eax, esi
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
test edx, edx
jne 0x412405
nop dword [eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
test edx, edx
je 0x412340
jmp 0x412405
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412367
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4123b9
mov ecx, dword [ebp - 0x10]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412389
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x412405
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4123a0
dec eax
jmp 0x4123a1
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4123b5
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412390
jmp 0x412405
mov eax, dword [ebp - 0x10]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x412405
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
test edx, edx
jne 0x412405
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4123f7
inc eax
jmp 0x4123f8
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
test edx, edx
je 0x4123e6
add edi, 0x10
mov ecx, 0x40
mov eax, edi
nop
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x412410
mov ecx, ebx
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x1c], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x2c], eax
mov dword [edi], 0x61707865
mov dword [edi + 4], 0x3320646e
mov dword [edi + 8], 0x79622d32
mov dword [edi + 0xc], 0x6b206574
mov dword [ecx + 0x40], 0
mov dword [ecx + 0x44], 0
mov eax, dword [esi]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0x4c], eax
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x41253f
add eax, 2
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4124b5
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4124d1
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4124cf
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4124b7
mov edi, 3
movss xmm0, dword [0x43cc8c]
movss dword [ebp - 8], xmm0
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
cdq
idiv edi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412647
lea eax, [ebp + eax - 6]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412513
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x41272f
nop dword [eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412538
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412520
jmp 0x41272f
and eax, 0x80000001
jns 0x41254d
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412586
mov eax, 2
sub eax, edi
mov edi, 3
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x4124d6
nop
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412570
jmp 0x4124d6
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412597
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4125ef
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4125b9
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x4125e7
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4125d0
dec eax
jmp 0x4125d1
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4125e5
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4125c0
mov ecx, dword [ebp - 0x18]
jmp 0x4124d1
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
test edx, edx
je 0x4124d1
mov eax, dword [ebp - 0x10]
lea ecx, [edi + 0x17]
add eax, 0xb
mov edi, 3
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x41263f
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412631
inc eax
jmp 0x412632
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412621
mov ecx, dword [ebp - 0x18]
jmp 0x4124d6
and eax, 0x80000001
jns 0x412655
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x41268b
lea edx, [ebp - 8]
mov eax, 2
sub eax, edx
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x41272f
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412675
jmp 0x41272f
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x41269c
dec eax
or eax, 0xfffffffc
add eax, 1
mov eax, dword [ebp - 0x10]
je 0x4126ea
add eax, 2
lea edx, [ebp - 5]
imul eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4126be
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x41272f
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4126d1
dec eax
jmp 0x4126d2
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x4126e6
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x4126c0
jmp 0x41272f
cdq
idiv dword [ebp - 0x14]
test edx, edx
je 0x41272f
mov eax, dword [ebp - 0x10]
lea edi, [ebp + 0xf]
add eax, 0xb
cdq
idiv edi
mov edi, 3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x41272f
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412721
inc eax
jmp 0x412722
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412710
mov eax, dword [ebp - 8]
add ecx, 0xa8
mov dword [ebp - 0x14], ecx
mov edx, 8
mov dword [ecx], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xb0
nop dword [eax + eax]
mov eax, dword [ebx]
lea ebx, [ebx + 4]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub edx, 1
jne 0x412750
mov ebx, dword [ebp - 0x18]
mov edx, 2
lea ecx, [ebx + 0xd0]
nop dword [eax]
mov eax, dword [esi]
lea esi, [esi + 4]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub edx, 1
jne 0x412770
mov esi, dword [0x43f030]
mov dword [ebp - 0x1c], 0x3c62ba
add esi, 0x10
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
cdq
idiv edi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4127e1
add eax, 2
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4127bc
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4128d4
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4127da
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4127c2
jmp 0x4128d4
and eax, 0x80000001
jns 0x4127ef
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412826
mov eax, 2
sub eax, esi
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x4128d4
nop dword [eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412810
jmp 0x4128d4
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412837
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412889
mov ecx, dword [ebp - 0x10]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412859
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x4128d4
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412870
dec eax
jmp 0x412871
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412885
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412860
jmp 0x4128d4
mov eax, dword [ebp - 0x10]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x4128d4
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x4128d4
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4128c6
inc eax
jmp 0x4128c7
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x4128b6
mov edi, dword [0x43f030]
mov esi, ebx
mov dword [ebp - 0x1c], 0x3c62ba
mov edx, 8
lea ecx, [edi + 0x10]
sub esi, ecx
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [esi + ecx + 0xd4], eax
sub edx, 1
jne 0x4128f0
mov dword [ebp - 0x1c], 0x3c62ba
mov ecx, 3
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x4129ef
add eax, 2
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x41293e
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x41295a
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412958
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412940
mov edi, ecx
mov esi, 5
mov ecx, dword [0x43f030]
mov edx, 4
mov dword [ebp - 0x1c], 0x3c62ba
sub ebx, ecx
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [ecx + ebx + 0xf4], eax
sub edx, 1
jne 0x412980
mov dword [ebp - 0x10], 0x3c62ba
mov eax, dword [ebp - 0x10]
cdq
idiv edi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412afc
mov esi, dword [ebp - 0x14]
add eax, 2
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4129c5
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x412bf5
nop dword [eax + eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x4129e8
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x4129d0
jmp 0x412bf5
and eax, 0x80000001
jns 0x4129fd
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412a36
mov eax, 2
sub eax, edi
mov edi, ecx
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x41295c
nop dword [eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412a20
jmp 0x41295c
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412a47
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412aa1
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412a69
dec eax
or eax, 0xfffffffe
add eax, 1
mov esi, 5
jne 0x412a97
mov eax, dword [ebp - 0x10]
cdq
idiv esi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412a80
dec eax
jmp 0x412a81
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412a95
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412a70
mov edi, 3
jmp 0x412961
mov eax, dword [ebp - 0x10]
mov esi, 5
cdq
idiv esi
test edx, edx
je 0x412af5
mov eax, dword [ebp - 0x10]
lea ecx, [edi + 0x17]
add eax, 0xb
mov edi, 3
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x412961
mov eax, dword [ebp - 0x10]
cdq
idiv esi
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412ae2
inc eax
jmp 0x412ae3
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412ad2
jmp 0x412961
mov edi, ecx
jmp 0x412961
and eax, 0x80000001
jns 0x412b0a
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412b46
mov esi, dword [ebp - 0x14]
mov eax, 2
sub eax, esi
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x412bf5
nop word [eax + eax]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412b30
jmp 0x412bf5
mov eax, dword [ebp - 0x10]
and eax, 0x80000003
jns 0x412b57
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x412bac
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
add ecx, 2
lea eax, [esi + 3]
imul ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412b7c
dec eax
or eax, 0xfffffffe
add eax, 1
jne 0x412bf5
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412b93
dec eax
jmp 0x412b94
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x412ba8
dec eax
or eax, 0xfffffffe
add eax, 1
je 0x412b83
jmp 0x412bf5
mov eax, dword [ebp - 0x10]
cdq
idiv esi
mov esi, dword [ebp - 0x14]
test edx, edx
je 0x412bf5
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
jne 0x412bf5
mov ecx, 5
mov eax, dword [ebp - 0x10]
cdq
idiv ecx
mov eax, dword [ebp - 0x10]
test edx, edx
je 0x412be7
inc eax
jmp 0x412be8
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cdq
idiv edi
test edx, edx
je 0x412bd7
push 0x36
push 0xd3bb19e6
mov edx, 0x10
call fcn.004081b0
add esp, 8
lea ecx, [ebp - 0xc]
push 0x20c
push ecx
push esi
push 0
push 1
push 0
push dword [ebp + 8]
call eax
neg eax
pop edi
sbb eax, eax
pop esi
neg eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004279e2
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004279e2
mov esp, ebp
pop ebp
ret