Function at 0x41fe60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
push ebx
push esi
push edi
mov dword [ebp - 0x58], edx
mov ebx, 0xb0f5
mov dword [ebp - 0x60], ecx
mov edi, 0x8008
mov dword [ebp - 0x10], 0xedc6
mov dword [ebp - 8], 0xcf1b
mov dword [ebp - 0x24], 0x32427
mov dword [ebp - 0x40], 0x16b90
mov dword [ebp - 0x30], 0xc8f
mov dword [ebp - 0x3c], 0x5df3
mov dword [ebp - 0x2c], 0x191d9
mov dword [ebp - 0x50], 0x1fefd
mov dword [ebp - 4], 0x117c3
mov dword [ebp - 0x48], 0x30a50
call fcn.004062d0
push 0x75e3
push ecx
push 0x8a8e
lea edx, [eax + 0x4ad9]
mov ecx, 0x128ff
call fcn.00404ef0
mov ecx, eax
mov dword [ebp - 0x4c], 0x278be
mov eax, 0x1d607
mov dword [ebp - 0xc], 0x9db0
mov dword [ebp - 0x20], eax
sub esp, 0xc
mov eax, 0x27fff
mov dword [ebp - 0x34], 0x34f4b
sub ecx, eax
mov dword [ebp - 0x18], eax
mov esi, 0x2a08
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x54], 0
call fcn.00401ee0
mov dword [ebp - 0x28], eax
add esp, 0x18
add eax, 0x7361
xor edx, edx
mov dword [ebp - 0x5c], eax
cmp eax, 2
jl 0x41ff84
dec eax
mov dword [ebp - 0x38], eax
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x3c]
shr ecx, 1
mov dword [ebp - 0x3c], eax
mov eax, 0xcf1b
lea ecx, [ecx*2 + 0xedc8]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
add dword [ebp - 0x44], edx
inc ecx
or dword [ebp - 0x3c], eax
add ecx, edx
add edx, 2
and esi, 0x11ab9
cmp edx, dword [ebp - 0x38]
jl 0x41ff65
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1c], esi
jmp 0x41ff89
mov eax, 0xcf1b
cmp edx, dword [ebp - 0x5c]
jge 0x41ffa7
add dword [ebp - 0x18], edx
and esi, 0x11ab9
or dword [ebp - 0x3c], eax
inc dword [ebp - 0x10]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x34], 0x451b
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x38]
add dword [ebp - 0x18], eax
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x44], 0
jbe 0x42042d
xor edi, edi
nop dword [eax]
nop word [eax + eax]
sub esp, 0x1c
mov dword [ebp - 0x64], 0x14076
mov esi, 0x17e4b
mov dword [ebp - 0x5c], 0x1357f
mov ebx, 0xaa74
call fcn.00404bc0
mov ecx, dword [ebp - 0x60]
add esp, 0x1c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
movzx ecx, byte [ecx + eax]
call fcn.0041d850
mov dword [ebp + edi*4 - 0x7c], eax
inc edi
call fcn.00406bd0
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x64]
nop dword [eax + eax]
or esi, 0x7be8
cmp edx, 0x111df
jne 0x42003a
add eax, 0x6b40
mov edx, 0x26d2b
or eax, ebx
inc ecx
sub esi, 0x828f
cmp eax, 0x20c6
jge 0x420054
or ebx, 0x11624
and esi, 0xc767
cmp ecx, 0x3093
jl 0x420020
sub esp, 0x10
call fcn.00405770
add esp, 0x10
lea eax, [esi + 0x7f0c]
mov edx, 0x693c
push eax
sub esp, 8
call fcn.00403ec0
sub esp, 0x10
call fcn.00403580
add esp, 0x1c
cmp edi, 4
jne 0x420410
push ecx
mov ecx, 0x17e
mov dword [ebp - 0x38], 0x1732d
mov ebx, 0x8b8
mov dword [ebp - 0x5c], 0x5d65
mov esi, 0xf47f
call fcn.00405f80
sub esp, 8
mov dword [ebp - 0x68], eax
call fcn.00401a00
mov dword [ebp - 0x64], eax
add esp, 0xc
add eax, 0xfffffb0c
test eax, eax
jle 0x4200e1
nop dword [eax]
or esi, 0x17a5e
add esi, 0x9160
sub eax, 1
jne 0x4200d0
call fcn.00402390
mov eax, dword [ebp - 0x78]
mov ecx, eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
mov al, byte [ebp - 0x7c]
shr ecx, 4
shl al, 2
and cl, 3
add cl, al
mov eax, dword [ebp - 0x54]
mov byte [eax + edi], cl
cmp esi, 0x28fe0
jge 0x42013f
mov ecx, 0x28fe0
mov edx, 0x1732d
sub ecx, esi
mov esi, 0x5d65
imul eax, ecx, 0xe2ef
sub edx, eax
imul eax, ecx, 0x5233
sub esi, eax
mov eax, dword [ebp - 0x64]
and ebx, eax
and eax, 0x147c5
sub ecx, 1
jne 0x420131
jmp 0x420145
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x68]
lea eax, [ebx + 0x147c5]
or ecx, edx
cmp ecx, 0x11bc3
cmovne eax, ebx
cmp eax, 0x382f
jne 0x42016e
cmp esi, 0x92e1
jge 0x42016e
add esi, 0x9160
call fcn.00406d40
sub esp, 0x10
lea eax, [esi + 0xb934]
push eax
sub esp, 0xc
call fcn.00404b60
add esp, 0x20
call fcn.00401610
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x68], esi
cmp esi, 0x40
je 0x420343
mov edx, 0x98dd
mov ecx, 0x48b8
call fcn.00404640
sub esp, 0x10
push 0x11e9b
push ecx
call fcn.004012d0
add esp, 0x14
push 0x134f2
push ecx
push 0x85ad
sub esp, 0x10
call fcn.00401cf0
mov ecx, dword [ebp - 0x6c]
mov eax, esi
mov esi, dword [ebp - 0x54]
add esp, 0x20
shr eax, 2
and al, 0xf
shl cl, 4
add al, cl
mov byte [esi + edi + 1], al
call fcn.00403160
mov ebx, dword [ebp - 0x70]
push ecx
cmp ebx, 0x40
je 0x4202b4
push 0x130bc
sub esp, 8
push 0x12b1c
push ecx
mov ecx, 0xceda
call fcn.00403960
add esp, 0xc
push 0xc6eb
sub esp, 0x10
call fcn.004035c0
mov ecx, 0x11e6a
call fcn.00404a80
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0x2c
call fcn.00402790
push 0xfdd3
sub esp, 8
mov ecx, 0x13027
push 0x10b84
call fcn.00401470
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0x7e11
mov ecx, 0x1806a
call fcn.00404a10
mov eax, dword [ebp - 0x68]
add esp, 0x18
shl al, 6
add al, bl
mov byte [esi + edi + 2], al
mov eax, 3
add esi, eax
mov dword [ebp - 0x54], esi
jmp 0x420362
push 0xc1fd
push 0xb3ec
push ecx
push 0x7799
mov edx, 0x183a7
mov ecx, 0x7663
call fcn.00403290
sub esp, 8
call fcn.00403580
mov ecx, 0x2249
mov esi, eax
call fcn.00401690
add esp, 0x14
lea edx, [esi - 0x10734]
push 0x8c05
call fcn.00403690
push ecx
push 0xc466
sub esp, 0xc
call fcn.00404b60
add esp, 0x20
mov ecx, 0x13027
push 0xfdd3
sub esp, 8
push 0x10b84
call fcn.00401470
push 0xee47
mov ecx, 0x18108
call fcn.00401170
mov esi, dword [ebp - 0x54]
mov eax, 2
add esp, 0x14
add esi, eax
mov dword [ebp - 0x54], esi
jmp 0x420362
push 0x172e1
push 0x14137
push 0xa4e
push 0x5663
call fcn.00402540
add esp, 0x10
inc dword [ebp - 0x54]
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
mov ecx, 0x2249
call fcn.00401690
call fcn.00401fb0
call fcn.00406b40
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0xc
push 0x5ad4
push ecx
push 0x3ae9
push ecx
push 0x7a
push 0x11df5
push ecx
call fcn.004013a0
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0x18
push 0x12e64
sub esp, 0xc
call fcn.00401de0
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0x24
xor edi, edi
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x58]
jb 0x41ffd0
mov esi, dword [ebp - 0x1c]
mov edi, 0x8008
mov ebx, 0xb0f5
sub esp, 0xc
call fcn.00404e90
sub esp, 0x10
mov dword [ebp - 0x38], eax
call fcn.00403580
add esp, 0x1c
mov dword [ebp - 0x44], eax
mov ecx, 0xcf1b
cmp eax, 0x127be
jge 0x4205f5
mov eax, 0xc8f
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], eax
mov edx, 0x278be
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, 0x16b90
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, 0x1d607
nop
mov ecx, dword [ebp - 0x14]
sub edx, 0x111d0
add dword [ebp - 0x48], 0xdf56
add ecx, 0x162c5
and dword [ebp - 0x38], eax
add ebx, ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 4]
cmp dword [ebp - 0x28], 0x6693
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 8]
jne 0x42050c
add dword [ebp - 0x24], edx
xor edx, 0xabda
or dword [ebp - 0x24], 0x7fa3
or dword [ebp - 0x48], 0x4194
xor dword [ebp - 0x34], 0x15e30
or edi, dword [ebp - 0x24]
cmp dword [ebp - 0x30], 0xa60
jle 0x42050c
mov esi, dword [ebp - 0x3c]
xor edx, 0xd14a
or esi, dword [ebp - 0x2c]
add eax, 0x3cd2
mov ebx, dword [ebp - 0x30]
add ecx, dword [ebp - 4]
sub dword [ebp - 0xc], ebx
mov ebx, 0x6693
or dword [ebp - 0x40], 0x12794
and dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x14]
or edx, 0xa1ac
or dword [ebp - 0x28], ecx
add edx, ecx
inc dword [ebp - 0x44]
add eax, 0xa873
mov ecx, dword [ebp - 8]
and ebx, 0x48
cmp dword [ebp - 0x34], 0x12716
je 0x42059d
xor dword [ebp - 4], 0x15f2b
and esi, 0x98ae
sub dword [ebp - 0xc], 0x17d64
add edx, eax
cmp dword [ebp - 0x28], 0xb9f1
mov dword [ebp - 0x1c], esi
jle 0x42059d
mov ecx, dword [ebp - 0x14]
and eax, 0x17f0d
xor dword [ebp - 0x30], 0x104d5
and ecx, esi
add ecx, dword [ebp - 0x10]
and edx, 0x122fb
cmp dword [ebp - 0xc], 0x13a3e
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
jge 0x42059d
and edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
xor edx, 0x176af
and eax, dword [ebp - 0x44]
add ebx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x44], 0x127be
jl 0x420480
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x48]
cmp edx, 0x3e9a7
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x38], eax
jge 0x42071b
mov eax, 0x3e9a7
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov eax, 0x1fefd
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], 0x3e9a7
nop dword [eax]
nop word [eax + eax]
and ebx, dword [ebp - 0x40]
xor edi, 0x10308
or dword [ebp - 0x28], 0x16cae
or ebx, 0x4f6f
cmp dword [ebp - 0xc], 0x36e9
je 0x4206f2
and dword [ebp - 0x40], ebx
or dword [ebp - 0x24], 0x12c02
xor dword [ebp - 4], 0x12d1f
cmp dword [ebp - 0x2c], 0xb9a2
mov ecx, dword [ebp - 8]
je 0x4206f2
mov edx, dword [ebp - 0x20]
sub ecx, 0x7262
xor dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x34]
xor edx, dword [ebp - 0x2c]
or eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x38]
add dword [ebp - 0x40], edx
cmp dword [ebp - 0x2c], 0x16cc4
mov dword [ebp - 8], ecx
jge 0x4206f2
and dword [ebp - 0x14], 0xc4da
and eax, esi
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0x14]
or dword [ebp - 0x50], 0x12fe7
cmp dword [ebp - 0x30], 0xad8c
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x20]
jle 0x4206f2
mov ecx, dword [ebp - 0x50]
or dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x40]
xor dword [ebp - 0x2c], 0x14544
or ecx, 0x31ef
xor edi, dword [ebp - 0x18]
add ecx, 0xbd7
add edx, dword [ebp - 0x2c]
add dword [ebp - 0x34], 0xf1cf
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x3c]
or dword [ebp - 0x18], ecx
or dword [ebp - 0x30], 0x4277
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x14]
add dword [ebp - 0x38], eax
sub edx, 0x11229
xor dword [ebp - 0x44], 0x180e3
dec dword [ebp - 0x10]
sub dword [ebp - 0x58], 1
mov dword [ebp - 0x40], edx
jne 0x420620
mov edx, dword [ebp - 4]
xor dword [ebp - 0x24], edx
and esi, ebx
mov eax, dword [ebp - 0x28]
xor edi, 0x10f8d
sub dword [ebp - 0x18], 0x12a17
add eax, 0x5014
or dword [ebp - 0x24], 0x63c3
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
cmp edx, 0x94f4
je 0x42076b
sub edx, dword [ebp - 0x40]
and dword [ebp - 0x2c], 0x17979
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x3c]
sub esi, edx
add edx, 0xffffd22d
or edx, 0x4699
mov dword [ebp - 0x3c], edx
and esi, dword [ebp - 0x10]
add dword [ebp - 0xc], ecx
cmp dword [ebp - 0x10], 0x16252
mov dword [ebp - 0x1c], esi
jge 0x420832
mov edx, dword [ebp - 0x38]
and esi, 0xcd6f
add edx, edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], edx
sub edi, 0xd28a
mov edx, dword [ebp - 0x20]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
cmp ebx, 0x8eaf
je 0x420835
add dword [ebp - 0x44], 0x14814
sub eax, esi
mov dword [ebp - 0x4c], eax
or edx, 0x16dd2
mov eax, dword [ebp - 0x14]
sub ecx, eax
cmp dword [ebp - 0x34], 0x12fd6
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
je 0x420835
mov ecx, dword [ebp - 0x30]
xor dword [ebp - 0xc], ecx
or eax, dword [ebp - 0x34]
add dword [ebp - 4], 0xf6cf
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp ecx, 0x15415
jle 0x420835
or ecx, dword [ebp - 0xc]
or esi, 0x147c7
mov dword [ebp - 0x18], ecx
xor edx, 0x4c77
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x24]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edx
cmp ecx, 0xaa44
jne 0x420835
or dword [ebp - 0xc], ebx
xor eax, esi
and dword [ebp - 0x50], 0x1296
sub dword [ebp - 0x30], 0xb131
mov dword [ebp - 0x14], eax
jmp 0x420835
mov edx, dword [ebp - 0x20]
sub esp, 0x10
lea eax, [edx - 0x12d4d]
push eax
push ecx
lea eax, [edx - 0x1da56]
push eax
call fcn.00404dd0
mov edx, dword [ebp - 0x38]
lea ecx, [esi - 0xd923]
add esp, 0x10
mov dword [ebp - 0x40], eax
lea edx, [edx + 0x8c0c]
push ecx
lea ecx, [edi - 0x1d8d]
push ecx
call fcn.004043b0
mov edx, dword [ebp - 8]
add esp, 0x14
mov ecx, dword [ebp - 0x20]
mov esi, eax
nop dword [eax]
mov eax, dword [ebp - 0x40]
sub ebx, 0x14488
add dword [ebp - 0x10], eax
and ecx, ebx
xor dword [ebp - 0x30], 0x2054
sub edi, 0x1cbe
add dword [ebp - 4], edx
xor dword [ebp - 0x24], 0xd91
cmp dword [ebp - 0xc], 0x287f
mov dword [ebp - 0x20], ecx
jne 0x42096c
mov eax, dword [ebp - 0x4c]
or esi, 0x1e35
xor eax, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x50]
sub edi, eax
and dword [ebp - 0x18], 0x160fe
and edi, 0x1ed4
sub edi, ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x28]
add dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], eax
cmp edi, 0x111b2
jle 0x42096c
add ecx, dword [ebp - 0x44]
add edi, 0x7b50
add eax, edi
mov dword [ebp - 0x28], ecx
xor esi, 0xb40d
mov dword [ebp - 0x4c], eax
and ebx, 0x1768d
or edi, edx
cmp dword [ebp - 0x38], 0x123fb
jge 0x42096c
mov ecx, dword [ebp - 0x1c]
and eax, 0x287f
or dword [ebp - 0x10], 0x7eae
sub ecx, 0x109f4
cmp dword [ebp - 0x14], 0x14ab1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x4c], eax
je 0x42096c
add eax, dword [ebp - 0x10]
and ecx, 0x854f
and dword [ebp - 0x24], 0x4ef3
sub dword [ebp - 4], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], ecx
cmp eax, 0x127e2
jne 0x42096c
mov eax, dword [ebp - 0x44]
or dword [ebp - 0x28], 0x11d99
or dword [ebp - 0x18], edi
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 4]
inc edx
mov eax, dword [ebp - 0x20]
add ecx, 0xc7d
and ecx, dword [ebp - 0x18]
add dword [ebp - 0x28], 0xffffb3ca
xor dword [ebp - 0xc], eax
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x50], 0
cmp edi, 0xe941
jge 0x4209dd
add dword [ebp - 0x38], 0x6527
and esi, 0x16921
or dword [ebp - 0x18], 0x35e7
and dword [ebp - 0x14], edi
add dword [ebp - 4], 0xa97a
cmp eax, 0xe26d
jge 0x4209dd
and ecx, dword [ebp - 0x3c]
sub edi, 0xa045
and dword [ebp - 0x18], 0x10b73
mov dword [ebp - 0x1c], ecx
mov ecx, eax
add ecx, 0x15c5b
jmp 0x4209e0
mov ecx, dword [ebp - 0x20]
cmp edx, 0x5cba
jl 0x420880
mov eax, dword [ebp - 0x10]
sub esp, 0x10
add eax, 0xfffe2098
mov dword [ebp - 8], edx
push eax
push ecx
call fcn.004012d0
mov eax, dword [ebp - 0x40]
add esp, 0x18
sub eax, dword [ebp - 0x28]
or dword [ebp - 0x38], 0xc260
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 4]
mov dword [ebp - 0x50], 0x1562d
cmp edx, 0x36
jne 0x420a35
xor ebx, 0x47ab
mov ecx, eax
or ecx, 0x6e09
cmp edx, 0x36
cmovne ecx, eax
mov eax, dword [ebp - 0x4c]
sub esp, 0x14
mov dword [ebp - 0x58], ecx
add eax, 0x76e5
lea edx, [ecx - 0x480e]
push eax
call fcn.00405470
add eax, 0xfffed090
add esp, 0x18
mov dword [ebp - 0x48], eax
test eax, eax
jle 0x420afd
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
nop dword [eax]
and edx, eax
cmp ecx, 0x11642
jne 0x420af4
xor eax, dword [ebp - 0x40]
sub esi, dword [ebp - 0x30]
cmp dword [ebp - 0x38], 0x174d6
mov dword [ebp - 8], eax
jge 0x420af4
mov ecx, dword [ebp - 0x1c]
mov eax, 0xfffea9d3
sub eax, ecx
add esi, eax
cmp dword [ebp - 0x30], 0xcd4
jle 0x420aee
mov eax, dword [ebp - 0x58]
sub ebx, edi
and dword [ebp - 0x2c], 0x50ed
or eax, 0x11642
cmp dword [ebp - 0x58], 0x135f1
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
jge 0x420af1
add ecx, 0x33a5
or ecx, 0xebf5
sub ecx, 0x11bd
and esi, 0xf416
mov dword [ebp - 0x1c], ecx
jmp 0x420af1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
sub dword [ebp - 0x48], 1
jne 0x420a80
mov dword [ebp - 0x10], edx
sub esp, 0x10
call fcn.00402bf0
mov edx, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x48], eax
add eax, 0xffff38a5
mov dword [ebp - 0x6c], eax
test eax, eax
jle 0x420b42
imul ecx, eax, 0xe4d3
mov eax, dword [ebp - 0x4c]
add edx, ecx
mov ecx, dword [ebp - 0x6c]
nop dword [eax + eax]
xor ebx, 0x83aa
and eax, 0xa84
sub ecx, 1
jne 0x420b30
jmp 0x420b45
mov eax, dword [ebp - 0x4c]
cmp edi, 0x6fd0
jge 0x420bf2
mov ecx, 0x6fd0
sub ecx, edi
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x58], ecx
nop
xor ebx, 0x9441
cmp dword [ebp - 0x10], 0x1430d
jge 0x420bb0
xor esi, edi
and esi, eax
and eax, dword [ebp - 0x50]
cmp esi, 0x158f7
jge 0x420bb0
add esi, 0x10808
cmp edx, 0x6e36
je 0x420bb0
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x10]
sub edi, dword [ebp - 8]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 8]
and ecx, 0x6d57
mov dword [ebp - 8], ecx
cmp ecx, 0x343b
jbe 0x420bb3
or eax, esi
jmp 0x420bb3
mov ecx, dword [ebp - 8]
or edi, 0xbd98
cmp dword [ebp - 0x48], 0x12e34
jne 0x420be8
or ecx, esi
sub ebx, 0x4841
cmp dword [ebp - 0x50], 0x17055
mov dword [ebp - 8], ecx
jle 0x420be8
or ecx, 0x12e34
add edx, 0x3530
dec dword [ebp - 0x50]
mov dword [ebp - 8], ecx
sub dword [ebp - 0x58], 1
jne 0x420b60
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push ecx
lea eax, [ebx + 0x12dac]
push eax
call fcn.00406a10
sub esp, 8
call fcn.00406ee0
mov eax, dword [ebp - 0x54]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret