Function at 0x41a150
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x435d0c]
mov ecx, 0xb84cc037
sub ecx, eax
sub esp, 0x76c
cmp ecx, 0xa9e2f283
jge 0x41a177
xor dword [0x4360fc], 0xb956cc2c
or dword [0x4363f8], 0xdd35cb8e
movsx ecx, word [0x43800e]
imul eax, dword [0x436024], 0x8c236748
not ecx
add ecx, 0xced6a6ca
cmp ecx, eax
jl 0x41a1af
inc dword [0x4358d0]
mov eax, dword [0x4358d0]
or dword [0x436a84], eax
mov eax, 0x3d90
lea ecx, [ebp - 0x1c]
mov word [0x437a64], ax
and dword [0x435978], 0x14257301
xor dword [0x435b5c], 0xddd4eed9
call fcn.00422f50
mov eax, dword [0x435478]
xor eax, 0x83ce4cc0
cmp eax, 0x7f26c6d3
jg 0x41a206
mov eax, dword [0x43620c]
sar eax, 6
and eax, 0x50f6f9c
cmp eax, 0x3a9a4abb
je 0x41a206
inc dword [0x4377e8]
mov eax, dword [0x4364e0]
mov ecx, dword [0x436fd0]
mov eax, dword [0x4377f4]
xor ecx, 0x669ab50
sar ecx, 4
or eax, ecx
add dword [0x4355fc], eax
mov ax, word [0x4389b6]
mov ecx, dword [0x4356c0]
cwde
xor ecx, eax
xor ecx, 0xebb776d5
mov word [0x4389b6], cx
add dword [0x437208], 0xff2156e8
cmp dword [0x436d98], 0x347d5631
jge 0x41a289
inc dword [0x4374c0]
mov edx, dword [0x4374c0]
mov ax, word [0x437a34]
mov ecx, dword [0x435a08]
cwde
and ecx, eax
lea eax, [edx - 0x4a1c3f91]
and ecx, 0x2d78824
cmp eax, ecx
jge 0x41a289
mov dword [0x4374c0], 0x43b50d99
mov eax, dword [0x435808]
not eax
cmp eax, 0xc7c17ab8
jle 0x41a2a1
add dword [0x435120], 0xf56fa205
push ebx
push edi
push 0
call fcn.00422fe0
mov ebx, dword [ebp + 8]
add eax, 0x258
mov ecx, edx
mov dword [ebp - 0x20], eax
adc ecx, 0
mov dword [ebp - 0x24], ecx
imul ecx, dword [0x436d54], 0x5e09fff5
mov byte [ebp - 0x36c], 0
push ebx
mov dword [0x436d54], ecx
imul ecx, dword [0x435a28], 0x56348d3a
mov dword [0x435a28], ecx
call fcn.004038d0
add dword [0x435af8], 0x2ddeeffe
mov edi, eax
add esp, 8
cmp edi, 0x7f
jg 0x41b23e
cmp dword [0x436194], 0xe5a09fa6
jl 0x41a318
add dword [0x436078], 0x9aa989c8
push esi
xor esi, esi
test edi, edi
js 0x41a4cc
lea eax, [ebp - 0x16c]
sub ebx, eax
jmp 0x41a330
mov eax, dword [0x435f24]
and eax, 0xfffffe00
cmp eax, 0x280a2800
jl 0x41a378
inc dword [0x4350ec]
mov edx, dword [0x4350ec]
movsx eax, word [0x437fd6]
not eax
imul ecx, eax, 0x7accaac2
mov eax, dword [0x435c50]
add eax, 0x27ec64ea
or eax, edx
cmp ecx, eax
jl 0x41a395
and dword [0x4352b0], 0xe44ea4f9
jmp 0x41a395
mov eax, dword [0x435e14]
dec dword [0x435e14]
cmp eax, 0xf7814495
jl 0x41a395
mov eax, dword [0x436450]
dec dword [0x436450]
lea eax, [ebx + esi]
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp + esi - 0x16c], al
dec dword [0x4365f0]
mov eax, dword [0x4365f0]
mov ecx, dword [0x4370ec]
inc dword [0x4370ec]
and ecx, eax
cmp ecx, 0xd065526b
jge 0x41a407
mov ax, word [0x4383c8]
mov ecx, dword [0x4363dc]
inc dword [0x4363dc]
cwde
xor ecx, eax
cmp ecx, 0x327f8c4c
jg 0x41a3ec
mov ax, word [0x4387d8]
jmp 0x41a420
mov ecx, dword [0x436fc0]
mov eax, dword [0x435c28]
and ecx, 0x56ac2402
imul eax, ecx
mov dword [0x435c28], eax
jmp 0x41a420
mov eax, dword [0x435824]
mov ecx, dword [0x437588]
add eax, 0x961de475
imul ecx, eax
mov dword [0x437588], ecx
cmp byte [ebp + esi - 0x16c], 0x2f
je 0x41a455
mov ax, word [0x437b28]
inc esi
mov ecx, dword [0x436d90]
cwde
imul ecx, eax
mov dword [0x436d90], ecx
inc word [0x437b28]
cmp esi, edi
jle 0x41a330
jmp 0x41a4cc
mov dword [0x437244], 0x4c80a66a
mov byte [ebp + esi - 0x16c], 0
xor dword [0x435cb8], 0xda590a24
cmp esi, edi
jg 0x41a4b9
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x36c]
sub ecx, esi
mov eax, dword [0x437424]
xor eax, 0xe6ff92b0
mov dword [0x4352b4], eax
mov al, byte [esi + edx]
mov byte [ecx + esi], al
inc esi
dec word [0x438b32]
mov ax, word [0x438b32]
cwde
imul eax, eax, 0xfade0340
xor eax, dword [0x4358d8]
mov dword [0x4358d8], eax
cmp esi, edi
jle 0x41a480
mov eax, dword [0x437134]
and eax, 0x679a3f
shl eax, 8
add dword [0x435060], eax
movsx eax, word [0x437f0a]
mov edi, dword [ebp + 0xc]
or eax, 0x717ade16
add dword [0x435370], eax
push edi
call fcn.004038d0
mov esi, eax
lea eax, [ebp - 0x36c]
push eax
call fcn.004038d0
add esi, eax
add esp, 8
cmp esi, 0x1ff
ja 0x41b23d
movzx eax, word [0x43869a]
sub eax, 0x43a301dd
mov word [0x4383a4], ax
lea eax, [ebp - 0x36c]
push edi
push eax
call fcn.00428970
add esp, 8
cmp dword [0x435874], 0x88035ded
jge 0x41a546
movzx eax, word [0x437f7c]
add eax, 0x125e1204
mov word [0x437f7c], ax
movzx eax, word [0x437ba4]
xor ebx, ebx
xor eax, 0x11a78820
mov dword [ebp - 4], ebx
or eax, 0xc21873d9
push 5
mov word [0x437e50], ax
inc word [0x437ba4]
push 0x1afb
call fcn.00410a30
imul ecx, dword [0x437358], 0xed015c02
add esp, 8
mov esi, eax
push esi
and ecx, 0xcae20f2a
mov dword [0x437798], ecx
lea ecx, [ebp - 0x1c]
inc dword [0x437358]
call fcn.0041cc60
push esi
mov dword [0x4351a0], 0x5c6ae004
push 5
call fcn.00429090
mov edi, dword [ebp + 0x10]
add esp, 8
and dword [0x435df8], 0xc2582ce4
mov ecx, edi
call fcn.004273b0
test eax, eax
je 0x41a79c
movsx ecx, word [0x438238]
movsx eax, word [0x438484]
shl ecx, 4
add eax, 0x4f6109fc
xor ecx, 0x2e9006e5
cmp ecx, eax
jne 0x41a5fc
xor dword [0x435fc8], 0x898c7432
jmp 0x41a615
mov ecx, dword [0x435950]
mov eax, dword [0x4353b8]
or ecx, 0xe24841b5
imul eax, ecx
mov dword [0x4353b8], eax
push 0xc
push 0x2312
call fcn.00410a30
mov ecx, dword [0x435cec]
add esp, 8
or ecx, 0xc5143682
mov esi, eax
sub dword [0x435eb8], ecx
lea ecx, [ebp - 0xec]
push esi
call fcn.00428dc0
push 0
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.0040aa20
lea ecx, [ebp - 0xec]
mov ebx, eax
call fcn.0041c9e0
mov ecx, dword [0x4373d4]
dec dword [0x4373d4]
sub ecx, 0x5c2fbf94
xor ecx, 0xd518cfca
cmp ecx, 0xbf1ffedf
jne 0x41a6b0
inc dword [0x435d88]
mov ecx, dword [0x435d88]
mov eax, dword [0x4350dc]
and ecx, 0x9bfde7eb
shl eax, 9
or ecx, 0xbad01eb
cmp ecx, eax
je 0x41a6b0
mov eax, dword [0x4376cc]
inc dword [0x4376cc]
push esi
push 0xc
call fcn.00429090
mov eax, dword [0x435284]
add esp, 8
shl eax, 0xa
cmp eax, 0x80595858
je 0x41a6e5
imul eax, dword [0x435d3c], 0x636d8fb4
add eax, 0xb6db8519
add dword [0x437234], eax
inc dword [0x435d3c]
test ebx, ebx
jne 0x41a790
xor dword [0x4372cc], 0x52218d7
mov ebx, 1
imul eax, dword [0x436ac0], 0x6e2581a
mov ecx, edi
push 0xb
push 0
mov dword [ebp - 4], ebx
mov dword [0x436ac0], eax
call fcn.00425740
push eax
mov ecx, edi
call fcn.00410070
mov ecx, dword [0x4358dc]
mov eax, dword [0x4352a4]
add ecx, 0x3445c171
add eax, ecx
push 6
mov dword [0x4352a4], eax
push 0x1cea
call fcn.00410a30
mov ecx, dword [0x43725c]
add esp, 8
mov edx, dword [0x4353e0]
add ecx, 0x7c70de41
imul edx, ecx
mov esi, eax
lea ecx, [ebp - 0x1c]
push esi
mov dword [0x4353e0], edx
call fcn.0041cc60
mov eax, 0xffffdabc
push esi
mov word [0x43808e], ax
push 6
call fcn.00429090
add esp, 8
add dword [0x43777c], 0x240945
jmp 0x41a792
xor ebx, ebx
or dword [0x435ea0], 0xeff7fffe
imul eax, dword [0x4370a0], 0x2f2e3bb7
or eax, 0xefb2749
cmp eax, 0x76eb4c86
je 0x41a7be
and dword [0x43736c], 0xd6f813ce
jmp 0x41a7f4
mov eax, dword [0x435f64]
shl eax, 6
cmp eax, 0x1f6790c8
je 0x41a7e4
mov eax, dword [0x435974]
add eax, 0x516aefe4
xor eax, 0x99e0b95b
or dword [0x4351e8], eax
jmp 0x41a7f4
mov eax, dword [0x437140]
add eax, dword [0x436120]
mov dword [0x436120], eax
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00416120
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0x74]
call fcn.0041ffa0
xor dword [0x435ef0], 0x9fde9f59
push 0x32
push 0xea8
call fcn.00410a30
add esp, 8
mov esi, eax
cmp dword [0x4367bc], 0xb86e2b59
jg 0x41a850
mov ecx, dword [0x437828]
xor ecx, dword [0x435658]
mov dword [0x437828], ecx
push esi
lea ecx, [ebp - 0x4c]
call fcn.00416120
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0x4c]
call fcn.0041ffa0
mov ecx, dword [0x4367c4]
mov eax, 0x616905ec
sar ecx, 3
sub eax, ecx
xor dword [0x4372a4], eax
push esi
push 0x32
call fcn.00429090
mov eax, dword [0x436a04]
add esp, 8
movsx ecx, word [0x438858]
not eax
imul eax, eax, 0x4cf2daa7
sar ecx, 2
sub ecx, eax
mov eax, dword [0x4376a0]
add eax, 0x356569d
and eax, 0x718f9a2
cmp eax, ecx
je 0x41a8c4
mov dword [0x43766c], 0x6353f405
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00416120
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0x9c]
call fcn.0041ffa0
movzx eax, word [0x438c64]
imul eax, eax, 0xe28cc08c
mov word [0x438c64], ax
test ebx, ebx
je 0x41aa64
xor dword [0x435910], 0x10404074
push 0x44
push 0xf40
call fcn.00410a30
and dword [0x437804], 0x4800285
lea ecx, [ebp - 0xd8]
add esp, 8
mov esi, eax
push esi
call fcn.00416120
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0xd8]
call fcn.0041ffa0
movzx eax, word [0x437fae]
add eax, 0x1d4c98ca
push 3
mov word [0x437fae], ax
push 0x1441
call fcn.00410a30
imul ecx, dword [0x437480], 0xfb59eddd
add esp, 8
mov ebx, eax
and ecx, 0x4fcf8333
cmp ecx, 0x57e24385
jge 0x41a9b6
dec word [0x4388f2]
mov cx, word [0x4388f2]
mov edx, dword [0x435860]
movsx ecx, cx
or edx, ecx
or edx, 0x236a99dc
mov dword [0x435860], edx
push esi
push 0x44
call fcn.00429090
mov eax, dword [0x4376e0]
add esp, 8
xor eax, 0xa11142d9
mov ecx, edi
mov dword [0x435930], eax
call fcn.004273b0
push eax
lea eax, [ebp - 0x76c]
push ebx
push eax
call fcn.00424d20
inc dword [0x435a70]
mov eax, dword [0x435a70]
add eax, 0x10e89bd7
and eax, 0xd169b813
xor eax, dword [0x435c60]
push ebx
mov dword [0x435c60], eax
push 3
call fcn.00429090
dec dword [0x43761c]
add esp, 0x14
mov ecx, dword [0x43761c]
mov eax, dword [0x435c64]
add ecx, 0xd1a6e3c3
add eax, ecx
lea ecx, [ebp - 0xc4]
mov dword [0x435c64], eax
lea eax, [ebp - 0x76c]
push eax
call fcn.00416120
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0xc4]
call fcn.0041ffa0
add dword [0x4359ec], 0x536e3e5d
imul eax, dword [0x4359e8], 0x50e6ce8d
mov ecx, 0xf0ad7168
push 5
push 0x109a
sub ecx, eax
add dword [0x435220], ecx
call fcn.00410a30
movsx ecx, word [0x438a4c]
add esp, 8
mov ebx, eax
cmp ecx, 0x448995a2
jl 0x41aadc
inc dword [0x436068]
mov eax, 0xa8bca19d
mov edx, dword [0x436068]
sub eax, edx
mov ecx, dword [0x435ec0]
and eax, 0x9de48437
mov esi, dword [0x437418]
inc dword [0x437418]
inc dword [0x435ec0]
imul ecx, ecx, 0xa52de2fb
xor esi, ecx
cmp eax, esi
jg 0x41aadc
mov eax, dword [0x435868]
push ebx
lea ecx, [ebp - 0x60]
call fcn.00416120
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
lea ecx, [ebp - 0x60]
call fcn.0041ffa0
push ebx
mov dword [0x436d84], 0xa6db1c85
push 5
call fcn.00429090
movsx eax, word [0x437bde]
add esp, 8
not eax
add dword [0x435644], eax
cmp dword [ebp - 4], 0
je 0x41ab2c
push edi
lea ecx, [ebp - 0x1c]
call fcn.00421ca0
mov eax, dword [0x4364a4]
mov ecx, 0x16dc4feb
push 6
push 1
sub ecx, eax
xor dword [0x43560c], ecx
push 2
call dword [0x4395ec]
movzx ecx, word [0x43835c]
mov ebx, eax
imul ecx, ecx, 0x67aebee
mov dword [ebp - 8], ebx
mov word [0x43835c], cx
cmp ebx, 0xffffffff
jne 0x41ab81
pop esi
lea ecx, [ebp - 0x1c]
mov dword [0x436f78], 0xb777f96e
call fcn.0041ffa0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [0x4387e8]
mov ecx, 0x1b5e39d5
sub ecx, eax
add dword [0x436808], ecx
cmp dword [ebp + 0x14], 0
je 0x41abe1
add dword [0x43766c], 0xeaff7ffe
lea eax, [ebp + 0x14]
push 4
push eax
push 0x1006
push 0xffff
push ebx
call dword [0x4395e8]
dec dword [0x4351a8]
mov eax, dword [0x4351a8]
mov ecx, dword [0x436f28]
or ecx, eax
cmp ecx, 0x7636c919
jl 0x41abe1
add dword [0x4350e0], 0xf97138e4
movsx eax, word [0x437e48]
or eax, 0x903ff596
cmp eax, 0x22529ee1
jne 0x41ac11
mov eax, dword [0x437650]
xor eax, 0x28900b23
or eax, 0x1761e0d4
sub dword [0x4372d4], eax
inc dword [0x437650]
jmp 0x41ac33
mov ecx, dword [0x436f68]
mov eax, dword [0x436138]
or ecx, eax
movzx eax, word [0x438552]
and eax, ecx
mov word [0x438552], ax
inc dword [0x436138]
lea eax, [ebp - 0x16c]
push eax
call dword [0x4395c8]
add dword [0x435f78], 0xc933b81
test eax, eax
je 0x41b23d
xor dword [0x436554], 0xaf848d22
mov ecx, 2
mov word [ebp - 0x38], cx
mov ecx, dword [0x435df8]
xor ecx, 0x2609ffba
add dword [0x437414], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [0x4395d4]
push eax
call dword [0x4395d0]
mov dword [ebp - 0x34], eax
movzx eax, word [0x43884e]
or eax, 0x17642d9c
mov word [0x43884e], ax
push 0x50
call dword [0x4395cc]
mov word [ebp - 0x36], ax
movsx eax, word [0x4378da]
sar eax, 9
xor eax, 0xff377bbf
or eax, 0x5423099a
add dword [0x435128], eax
lea eax, [ebp - 0x38]
push 0x10
push eax
push ebx
call dword [0x4395c4]
cmp eax, 0xffffffff
jne 0x41acf1
pop esi
lea ecx, [ebp - 0x1c]
mov dword [0x437770], 0xcddfdd77
call fcn.0041ffa0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
add dword [0x435090], 0x73ad6b56
lea ecx, [ebp - 0x1c]
push 0
call fcn.004273b0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041cc30
push eax
push ebx
call dword [0x4395e4]
and dword [0x435810], 0x7f7bbdde
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.004273b0
cmp esi, eax
jae 0x41ad7c
mov eax, dword [0x436e8c]
add eax, 0x2f46137b
or eax, 0xa34d7f0b
cmp eax, 0x6e5ad01a
jle 0x41b23d
mov eax, dword [0x43628c]
dec dword [0x43628c]
or eax, 0xe118625d
cmp eax, 0xf1b60d31
jl 0x41b23d
xor dword [0x435360], 0x3da00242
lea ecx, [ebp - 0x1c]
pop esi
call fcn.0041ffa0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x437220]
not eax
cmp eax, 0x10210080
jg 0x41ad96
or dword [0x4359e0], 0x8e1e7340
jmp 0x41adeb
mov eax, dword [0x436168]
movsx ecx, word [0x4388d4]
imul eax, eax, 0xd1ae4bbf
or ecx, eax
imul eax, dword [0x435254], 0x77f6f080
inc dword [0x436168]
cmp ecx, eax
jne 0x41ade1
movsx eax, word [0x4382c0]
mov ecx, dword [0x436bd4]
add eax, eax
sar ecx, 6
and ecx, eax
mov eax, dword [0x43676c]
or eax, ecx
add dword [0x436c40], eax
jmp 0x41adeb
mov eax, dword [0x435840]
mov eax, dword [0x4368b0]
mov ecx, edi
call fcn.0041cc00
and dword [0x436344], 0xb1dd077f
or esi, 0xffffffff
mov eax, dword [0x435e54]
xor eax, 0x89d6bf55
mov dword [ebp - 4], esi
add dword [0x437690], eax
jmp 0x41ae20
or dword [0x4351b8], 0x7f9d2aea
lea eax, [ebp - 0x76c]
push 0
push 0x400
push eax
push ebx
call dword [0x4395dc]
dec dword [0x43505c]
mov ebx, eax
mov ecx, dword [0x43505c]
xor ecx, 0x8119d401
cmp ecx, 0x5f39fc45
jl 0x41ae6b
imul ecx, dword [0x436000], 0x73a49027
mov dword [0x436000], ecx
test ebx, ebx
jle 0x41b1cd
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.0041d820
add esp, 8
test eax, eax
jne 0x41b1cd
movzx eax, word [0x437900]
mov ecx, edi
xor eax, 0xca06aae7
mov word [0x437900], ax
push 0
call fcn.004273b0
add eax, ebx
mov ecx, edi
push eax
call fcn.00427670
add dword [0x436f04], 0x33200021
mov ecx, edi
call fcn.0042c3f0
test eax, eax
je 0x41b1cd
mov eax, dword [0x4357e4]
mov ecx, edi
or eax, dword [0x4355f4]
or eax, 0xa5117812
mov dword [0x4357e4], eax
lea eax, [ebp - 0x76c]
dec dword [0x4355f4]
push ebx
push eax
call fcn.0041cb00
add dword [0x436ff4], 0xf7fffdf7
test esi, esi
jns 0x41b108
dec word [0x437af6]
mov ax, word [0x437af6]
push 5
mov word [0x437b88], ax
push 0x109a
call fcn.00410a30
mov ecx, dword [0x435fe4]
add esp, 8
inc dword [0x435fe4]
and ecx, 0x4d10d26e
mov ebx, eax
cmp ecx, 0xadfc48af
jne 0x41af4b
add dword [0x436080], 0xd68354c0
push ebx
lea ecx, [ebp - 0x88]
call fcn.00428dc0
push 0
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
call fcn.0040aa20
lea ecx, [ebp - 0x88]
mov esi, eax
call fcn.0041c9e0
mov ecx, dword [0x435b18]
mov edx, dword [0x435904]
shl ecx, 2
imul edx, ecx
push ebx
push 5
mov dword [0x435904], edx
call fcn.00429090
xor dword [0x436c80], 0x92146003
add esp, 8
test esi, esi
js 0x41b0e3
movzx eax, word [0x438a0c]
add esi, 4
sub eax, 0x70442bf9
mov word [0x438a0c], ax
cmp dword [0x436880], 0x3b3c58a1
jge 0x41afd6
and dword [0x435658], 0x440388e3
jmp 0x41aff1
inc dword [0x4353d4]
mov eax, dword [0x4353d4]
movzx ecx, word [0x438c80]
xor ecx, eax
mov word [0x438c80], cx
push edi
call fcn.0041b250
add dword [0x436200], 0xba4eba2
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
jns 0x41b0d9
mov eax, 0xfffff79c
push 0xb
mov word [0x437f74], ax
push 0x2b49
call fcn.00410a30
imul ecx, dword [0x4357b0], 0x88ed36e3
add esp, 8
mov ebx, eax
push ebx
mov dword [0x4357b0], ecx
lea ecx, [ebp - 0xb0]
call fcn.00428dc0
push 0
lea eax, [ebp - 0xb0]
mov ecx, edi
push eax
call fcn.0040aa20
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x28], eax
call fcn.0041c9e0
inc word [0x437dc0]
mov cx, word [0x437dc0]
movsx ecx, cx
cmp ecx, 0x628366c1
jl 0x41b092
movzx ecx, word [0x438182]
and ecx, 0xae2ef9ef
mov word [0x438182], cx
push ebx
push 0xb
call fcn.00429090
movzx eax, word [0x43850a]
add esp, 8
imul eax, eax, 0x37b5aa6c
cmp dword [ebp - 0x28], 0
mov word [0x43850a], ax
jge 0x41b1cd
dec dword [0x4361a0]
mov ecx, 0xa12ce10f
mov eax, dword [0x4361a0]
imul eax, eax, 0x5e17abac
sub ecx, eax
mov word [0x438544], cx
and dword [0x43728c], 0x74e6ad25
mov eax, dword [0x4377fc]
inc dword [0x4377fc]
cmp eax, 0xca66773f
jge 0x41b108
mov eax, dword [0x435970]
xor eax, 0xecc2e88f
sar eax, 4
sub dword [0x436cc8], eax
and dword [0x4350b8], 0x3ed6a998
mov ebx, dword [ebp - 4]
test ebx, ebx
js 0x41b12a
mov ecx, edi
call fcn.004273b0
sub eax, esi
cmp eax, ebx
jae 0x41b1cd
mov eax, dword [0x4367cc]
and eax, dword [0x436474]
cmp eax, 0x1f3f2bc1
jl 0x41b16e
mov eax, dword [0x437464]
not eax
and eax, 0xa285578a
cmp eax, 0xe8f24914
jne 0x41b16e
mov ecx, dword [0x4354a8]
mov eax, dword [0x435968]
add ecx, 0x7a52079f
xor ecx, 0x7e33b5c6
imul eax, ecx
mov dword [0x435968], eax
cmp dword [ebp + 0x14], 0x3aa6
jne 0x41b1a9
movzx eax, word [0x438aca]
mov ecx, edi
sub eax, 0x39e13a3a
mov word [0x438aca], ax
call fcn.004273b0
cmp eax, 0x500000
ja 0x41b1c3
movzx eax, word [0x4378cc]
sub eax, 0x4008a587
mov word [0x4378cc], ax
movzx eax, word [0x4386d2]
mov ebx, dword [ebp - 8]
add eax, 0x3881123
mov word [0x4386d2], ax
jmp 0x41ae20
add dword [0x43543c], 0xb35cc1b2
movsx ecx, word [0x4384f0]
movzx eax, word [0x437c3a]
push dword [ebp - 8]
sar ecx, 1
xor eax, ecx
xor eax, 0x6df185eb
mov word [0x437c3a], ax
call dword [0x4395c0]
or dword [0x436660], 0x6d1e8ebf
test esi, esi
js 0x41b233
mov ax, word [0x437f1a]
mov ecx, edi
mov edx, dword [0x4370e8]
cwde
push esi
add edx, eax
mov word [0x437f1a], dx
push 0
call fcn.00425740
push eax
mov ecx, edi
call fcn.00410070
add dword [0x435bc0], 0x625456bc
xor dword [0x4365cc], 0xbc0a771
pop esi
lea ecx, [ebp - 0x1c]
call fcn.0041ffa0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret