Function at 0x41b39f
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x97c
mov ebx, dword [esp + 0x990]
mov eax, dword [esp + 0x99c]
mov dword [esp + 0x978], eax
mov eax, dword [0x48ae48]
add eax, 0xf7588ace
or dword [0x48a690], eax
mov ebp, 8
push ebp
push 0x38f0
call fcn.00418b05
add esp, 8
mov edi, eax
add dword [0x486bf0], 0xaa0c9f68
push edi
push ebx
call fcn.0043da80
add esp, 8
mov esi, eax
mov eax, dword [0x48bb3c]
add eax, 0xbf556162
xor eax, 0xfa4c08f
add dword [0x48a7d8], eax
push edi
push ebp
call fcn.0042862d
add esp, 8
mov eax, dword [0x48bcbc]
cmp eax, 0x93f2b0b7
jne 0x41b435
mov eax, dword [0x48ab5c]
dec eax
mov dword [0x48ab5c], eax
or dword [0x48af90], eax
mov edi, dword [esp + 0x994]
test esi, esi
je 0x41b514
mov eax, dword [0x48b448]
lea ecx, [eax - 1]
mov dword [0x48b448], ecx
add eax, 0xa87ff515
mov cx, word [0x48dbfa]
imul ecx, eax
mov word [0x48dbfa], cx
xor dword [0x487e74], 0xfbf1ea8e
mov eax, dword [0x486884]
inc eax
mov dword [0x486884], eax
imul eax, eax, 0xc3824be9
cmp eax, 0xc2853f17
jne 0x41b49b
mov ax, word [0x48c294]
or eax, 0x5980
mov word [0x48c294], ax
mov eax, dword [0x486dd0]
mov eax, dword [0x488f90]
lea ecx, [eax + 1]
mov dword [0x488f90], ecx
add eax, 0x9d21e75b
cmp eax, 0xcd84c4c3
jl 0x41b4c4
add dword [0x489898], 0x8911cf07
mov eax, dword [0x487204]
shl eax, 8
mov ecx, dword [0x486a34]
dec ecx
and eax, ecx
mov dword [0x486a34], ecx
and eax, 0xf9b0db00
cmp eax, 0xb369831f
jg 0x41b595
mov eax, dword [0x487fa4]
lea ecx, [eax - 1]
mov dword [0x487fa4], ecx
add eax, 0x732909ae
cmp eax, 0x39495263
jl 0x41b577
add dword [0x487564], 0xbd3de9e5
jmp 0x41b595
mov ax, word [0x48e568]
add eax, 0xffffc57f
mov word [0x48e568], ax
cmp dword [esp + 0x9a0], 0
je 0x41b935
mov ax, word [0x48cfcc]
cwde
add eax, 0x6d7de4ac
or dword [0x486298], eax
mov ecx, dword [esp + 0x998]
call fcn.00415ed0
mov eax, dword [0x48997c]
mov ecx, 0xad435291
sub ecx, eax
xor ecx, 0xb468
mov ax, word [0x48d2e0]
imul eax, ecx
mov word [0x48d2e0], ax
jmp 0x41ce54
mov eax, dword [0x4892a0]
mov ecx, dword [0x488c18]
inc ecx
mov dword [0x488c18], ecx
sub eax, ecx
or eax, 0x983e23b6
mov dword [0x48a254], eax
mov eax, dword [0x489550]
imul eax, eax, 0xa45aca1d
mov dword [0x489550], eax
mov eax, dword [0x48b7f0]
mov ecx, dword [0x48b14c]
lea edx, [ecx + 1]
mov dword [0x48b14c], edx
sub eax, ecx
cmp eax, 0xc8831cfe
jl 0x41b5db
mov eax, dword [0x488e70]
mov ecx, 0x73e02065
sub ecx, eax
cmp ecx, 0x7db7ac66
jl 0x41b5db
mov eax, dword [0x489068]
lea ecx, [esp + 0x544]
call fcn.004286d6
mov eax, dword [0x48aa6c]
and eax, 0x8238
mov cx, word [0x48e4e4]
imul ecx, eax
mov word [0x48e4e4], cx
mov eax, dword [0x489ae8]
lea ecx, [eax + 1]
mov dword [0x489ae8], ecx
or eax, 0x5f021e50
and dword [0x48a7c8], eax
add dword [0x48ab80], 0x8d12ec05
mov eax, dword [0x48616c]
dec eax
mov dword [0x48616c], eax
or eax, 0xbebfcedf
mov ecx, dword [0x4885cc]
sub ecx, eax
mov dword [0x4885cc], ecx
xor dword [0x48ac58], 0x8747545d
mov eax, dword [0x48aa14]
and eax, 0xf8ba07d7
mov ecx, dword [0x488228]
add ecx, 0xa3b59d5c
cmp eax, ecx
jle 0x41b688
mov eax, dword [0x48c038]
add eax, 0x4386272e
cmp eax, 0x59799bac
jg 0x41b688
mov eax, dword [0x4877cc]
imul eax, eax, 0x5db6cb65
mov dword [0x4877cc], eax
mov eax, dword [0x48abd4]
shl eax, 6
or eax, 0x18a362b0
and dword [0x487db8], eax
xor dword [0x48bb84], 0x10cc2401
add dword [0x489610], 0x605baa73
call fcn.00430d60
mov ebp, edx
add eax, 0x258
mov dword [esp + 0x18], eax
adc ebp, 0
mov ax, word [0x48eee0]
add eax, 0x2847
mov word [0x48eee0], ax
mov byte [esp + 0x56a], 0
mov ax, word [0x48c99c]
lea ecx, [eax - 1]
mov word [0x48c99c], cx
cwde
add eax, 0x851afb36
xor eax, 0x5a54bdfb
mov dword [0x4899d4], eax
push ebx
call fcn.0043d100
add esp, 4
mov esi, eax
mov eax, dword [0x48b884]
mov cx, word [0x48db1c]
movsx ecx, cx
sub eax, ecx
xor eax, 0x813437b8
cmp eax, 0xad47a9ae
jg 0x41b72f
or dword [0x4881b4], 0x692703f9
jmp 0x41b739
add dword [0x4867f0], 0xfb4e2568
cmp esi, 0x80
jl 0x41b750
or dword [0x489e44], 0xf7c09d56
jmp 0x41cd94
mov dword [esp + 0x14], ebp
add dword [0x487764], 0xdfdebdff
lea eax, [esp + 0x89e]
push ebx
push eax
call fcn.0043d190
add esp, 8
mov ax, word [0x48cc10]
cwde
or eax, 0x6ab6b59d
mov ecx, dword [0x489b9c]
sub ecx, eax
mov dword [0x489b9c], ecx
mov eax, esi
add eax, 0xfffffffb
mov ebx, esi
mov ebp, 0x50
mov cx, word [0x48ee00]
movsx ecx, cx
shl ecx, 4
and ecx, 0x68f00f20
xor ecx, 0x9242e52a
mov edx, dword [0x48a41c]
dec edx
mov dword [0x48a41c], edx
and edx, 0x98b3463e
cmp ecx, edx
jg 0x41b7d7
mov ecx, dword [0x488140]
imul ecx, ecx, 0x2258d5e1
mov dword [0x488140], ecx
movzx ecx, byte [esp + ebx + 0x89d]
cmp ecx, 0x3a
je 0x41b80d
dec ebx
mov ecx, dword [0x4884b0]
imul ecx, ecx, 0x54f0b735
mov edx, dword [0x486ffc]
lea ecx, [ecx + edx - 0x70c6d446]
mov dword [0x486ffc], ecx
lea ecx, [ebx + 1]
cmp ecx, eax
jg 0x41b795
jmp 0x41b875
mov eax, dword [0x48b4d8]
imul eax, eax, 0xdaeffca0
mov dword [0x48b4d8], eax
lea eax, [esp + ebx + 0x89e]
mov byte [esp + ebx + 0x89d], 0
mov cx, word [0x48ec3a]
add ecx, 0x2c29
mov word [0x48ec3a], cx
add dword [0x48b8bc], 0x40301c4
push eax
call fcn.0043f673
add esp, 4
mov ebp, eax
mov ax, word [0x48d210]
mov cx, word [0x48f12a]
mov edx, 0x1cc0
sub edx, eax
add edx, ecx
mov word [0x48f12a], dx
dec ebx
mov esi, ebx
mov eax, dword [0x48abd0]
mov cx, word [0x48de20]
dec ecx
mov word [0x48de20], cx
movsx ecx, cx
cmp eax, ecx
jge 0x41b8a1
mov ax, word [0x48ead4]
add eax, 0x2529
mov word [0x48ead4], ax
test esi, esi
js 0x41ba53
xor eax, eax
mov cx, word [0x48eb08]
mov ecx, dword [0x489e34]
imul ecx, ecx, 0xf6c13000
and ecx, 0xf5755000
cmp ecx, 0xffe7fffe
jg 0x41b8d8
or dword [0x48ac7c], 0xf32b94e0
jmp 0x41b8e2
add dword [0x486528], 0xbf8e5c4
mov cl, byte [esp + eax + 0x89e]
mov byte [esp + eax + 0x7c4], cl
mov ecx, dword [0x48bc1c]
add ecx, 0x19730bea
and dword [0x4878f8], ecx
movzx ecx, byte [esp + eax + 0x7c4]
cmp ecx, 0x2f
je 0x41b9bb
mov ecx, dword [0x488598]
imul ecx, ecx, 0xf2cd7bbb
mov dword [0x488598], ecx
cmp eax, esi
lea eax, [eax + 1]
jl 0x41b8ab
jmp 0x41ba53
add dword [0x48bbe4], 0xf9ea73e0
mov esi, dword [esp + 0x998]
push esi
push edi
call fcn.0040e4b9
add esp, 8
mov ecx, dword [0x489cc8]
inc ecx
mov dword [0x489cc8], ecx
imul ecx, ecx, 0x78940446
or ecx, 0xad1ebde7
mov edx, dword [0x48b7b8]
imul edx, ecx
mov dword [0x48b7b8], edx
test eax, eax
jg 0x41c4c1
mov ecx, esi
mov eax, dword [0x489e68]
cmp eax, 0x88d93c3a
jne 0x41c4b2
mov eax, dword [0x4894d0]
add eax, 0x8af5bb45
xor eax, 0xad39d2df
cmp eax, 0x9800011
jl 0x41c4a8
and dword [0x487afc], 0x3c379ed7
jmp 0x41c4b2
add dword [0x4887d0], 0x11519750
mov byte [esp + eax + 0x7c4], 0
mov ecx, dword [0x48751c]
inc ecx
mov dword [0x48751c], ecx
mov edx, dword [0x48aac4]
or edx, ecx
or edx, 0xa1bf46f4
mov dword [0x48aac4], edx
cmp eax, esi
jg 0x41ba49
dec eax
lea ecx, [esp + 0x56a]
mov dx, word [0x48e4ce]
dec edx
mov word [0x48e4ce], dx
mov bx, word [0x48dc94]
xor ebx, edx
movsx edx, bx
or dword [0x489ed8], edx
mov dl, byte [esp + eax + 0x89f]
mov byte [ecx], dl
mov dx, word [0x48e7ba]
movsx edx, dx
sar edx, 8
add edx, 0x77415b5f
or edx, 0xb29ed129
add dword [0x487a88], edx
inc eax
inc ecx
cmp eax, esi
jl 0x41b9fa
or dword [0x48b2d0], 0xf1a10f0c
mov word [0x48da52], 0x956
lea ebx, [esp + 0x56a]
push ebx
call fcn.0043d100
add esp, 4
mov esi, eax
push edi
call fcn.0043d100
add esp, 4
add eax, esi
cmp eax, 0x200
jb 0x41ba8f
add dword [0x48a5dc], 0x50ef9166
jmp 0x41cd94
mov eax, dword [0x488a44]
add eax, 0x3e7eebfc
mov ecx, dword [0x48699c]
inc ecx
mov dword [0x48699c], ecx
or ecx, eax
cmp ecx, 0x6e856c7e
jl 0x41bad1
mov eax, dword [0x4884bc]
dec eax
mov dword [0x4884bc], eax
xor eax, 0x373ca8c8
cmp eax, 0xeece57e
jl 0x41bad1
or dword [0x486ba4], 0x427c61d9
push edi
push ebx
call fcn.0043d1a0
add esp, 8
mov eax, dword [0x48a9a0]
imul eax, eax, 0x2f73229c
mov dword [0x48a9a0], eax
xor dword [0x48a8ac], 0x35a45c46
mov edi, 5
push edi
push 0x4c09
call fcn.00418b05
add esp, 8
mov esi, eax
mov ax, word [0x48e00a]
or eax, 0xe22
mov word [0x48e00a], ax
lea ecx, [esp + 0x544]
push esi
call fcn.00420706
mov eax, dword [0x486a98]
xor eax, 0x8a1c002b
mov ecx, dword [0x488ad8]
imul ecx, eax
mov dword [0x488ad8], ecx
push esi
push edi
call fcn.0042862d
add esp, 8
mov eax, dword [0x489df4]
or eax, 0x68b1456e
and dword [0x4889bc], eax
mov ecx, dword [esp + 0x998]
call fcn.004178c0
xor esi, esi
test eax, eax
je 0x41bda1
mov ax, word [0x48f1f8]
inc eax
mov word [0x48f1f8], ax
push 0xc
push 0x38fa
call fcn.00418b05
add esp, 8
mov esi, eax
mov eax, dword [0x48c124]
and eax, 0x90840809
or eax, 0x6f43c5f6
cmp eax, 0x7b70e51
jg 0x41bbeb
mov ax, word [0x48c9dc]
cwde
mov ecx, dword [0x486894]
mov edx, dword [0x489858]
xor edx, ecx
xor edx, eax
mov eax, dword [0x488b78]
lea ecx, [eax + 1]
mov dword [0x488b78], ecx
add eax, 0x1c62e1a0
cmp edx, eax
jne 0x41bbf7
mov eax, dword [0x486bb0]
dec eax
mov dword [0x486bb0], eax
and eax, 0x1157bc52
add dword [0x48be24], eax
jmp 0x41bc01
add dword [0x487154], 0xf98e0600
jmp 0x41bc01
or dword [0x488654], 0xf9d0c8cd
mov edi, dword [esp + 0x998]
lea ebx, [esp + 0xd4]
mov ecx, ebx
push esi
call fcn.004035ee
mov ecx, edi
push 0
push ebx
call fcn.0040f784
mov edi, eax
mov ecx, ebx
call fcn.004019e0
mov eax, dword [0x4876f8]
inc eax
mov dword [0x4876f8], eax
mov cx, word [0x48d524]
lea edx, [ecx - 1]
mov word [0x48d524], dx
movsx ecx, cx
xor ecx, eax
cmp ecx, 0x11f61305
jne 0x41bc5f
xor dword [0x489008], 0xc301d74a
jmp 0x41bc70
mov ax, word [0x48deec]
xor eax, 0x34a2
mov word [0x48deec], ax
lea ebx, [esp + 0x56a]
push esi
push 0xc
call fcn.0042862d
add esp, 8
add dword [0x488ee4], 0xe66aa3be
xor esi, esi
test edi, edi
jne 0x41bd90
mov eax, dword [0x489bd0]
mov cx, word [0x48e5a4]
movsx ecx, cx
shl ecx, 3
mov edx, 0x5105bc2e
sub edx, ecx
or edx, 0x4d15aa45
cmp eax, edx
jle 0x41bcc3
add dword [0x48a5d8], 0x54d27322
mov eax, dword [0x48b38c]
lea ecx, [eax - 1]
mov dword [0x48b38c], ecx
mov ecx, dword [0x48b32c]
dec ecx
mov dword [0x48b32c], ecx
mov edx, dword [0x487fcc]
inc edx
mov dword [0x487fcc], edx
sub ecx, edx
or ecx, eax
cmp ecx, 0x3805c7bc
mov esi, dword [esp + 0x998]
je 0x41bd10
mov ax, word [0x48c5d8]
imul eax, eax, 0x2b6a
mov word [0x48c5d8], ax
mov ecx, esi
push 0
call fcn.00420af8
mov ecx, esi
push 0xb
push eax
call fcn.0041f30e
mov eax, dword [0x487820]
imul eax, eax, 0x8c85a0d7
mov dword [0x487820], eax
mov edi, 6
push edi
push 0x5b98
call fcn.00418b05
add esp, 8
mov esi, eax
mov word [0x48ceda], 0x71df
lea ecx, [esp + 0x544]
push esi
call fcn.00420706
mov ax, word [0x48d120]
cwde
not eax
and dword [0x487e98], eax
push esi
push edi
call fcn.0042862d
add esp, 8
mov eax, dword [0x487f2c]
sar eax, 2
mov ecx, dword [0x486be8]
sub eax, ecx
add dword [0x48a278], eax
xor esi, esi
inc esi
mov ax, word [0x48e56a]
add eax, 0xffffd375
mov word [0x48e56a], ax
mov dword [esp + 0x10], esi
mov dword [0x489e40], 0x80afaf36
lea edi, [esp + 0xc0]
mov ecx, edi
push ebx
call fcn.0040e448
lea ecx, [esp + 0x544]
push edi
call fcn.0041b13e
mov ecx, edi
call fcn.004019e0
mov eax, dword [0x487380]
imul eax, eax, 0x49ba4b8a
mov dword [0x487380], eax
mov eax, 0x32
push eax
push 0x7849
call fcn.00418b05
add esp, 8
mov edi, eax
mov eax, dword [0x489e74]
lea ecx, [eax + 1]
mov dword [0x489e74], ecx
mov cx, word [0x48e8cc]
lea eax, [ecx + eax + 1]
mov word [0x48e8cc], ax
lea ebx, [esp + 0xac]
mov ecx, ebx
push edi
call fcn.0040e448
lea ecx, [esp + 0x544]
push ebx
call fcn.0041b13e
mov ecx, ebx
call fcn.004019e0
mov eax, dword [0x487bc0]
dec eax
mov dword [0x487bc0], eax
imul eax, eax, 0xba6e70cb
mov ecx, dword [0x488308]
xor ecx, eax
xor ecx, 0xd824984d
mov dword [0x488308], ecx
push edi
mov eax, 0x32
push eax
call fcn.0042862d
add esp, 8
mov dword [0x48761c], 0x51763d7
lea eax, [esp + 0x7c4]
lea edi, [esp + 0x98]
mov ecx, edi
push eax
call fcn.0040e448
lea ecx, [esp + 0x544]
push edi
call fcn.0041b13e
mov ecx, edi
call fcn.004019e0
and dword [0x48bcd4], 0xf6413b50
test esi, esi
je 0x41c019
mov ax, word [0x48c246]
cwde
or dword [0x487174], eax
mov esi, 0x44
push esi
push 0x4fa
call fcn.00418b05
add esp, 8
mov edi, eax
inc dword [0x486fdc]
mov ax, word [0x48da0a]
lea ecx, [eax + 1]
mov word [0x48da0a], cx
cwde
and eax, 0x6dc19d85
xor eax, 0xd100a5b7
and dword [0x487570], eax
lea ebx, [esp + 0x84]
mov ecx, ebx
push edi
call fcn.0040e448
lea ecx, [esp + 0x544]
push ebx
call fcn.0041b13e
mov ecx, ebx
call fcn.004019e0
mov eax, dword [0x486c74]
lea ecx, [eax + 1]
mov dword [0x486c74], ecx
xor eax, 0xe762
mov cx, word [0x48f11e]
sub ecx, eax
mov word [0x48f11e], cx
mov eax, 3
push eax
push 0x6eae
call fcn.00418b05
add esp, 8
mov ebx, eax
inc dword [0x486868]
mov ax, word [0x48d0f8]
and eax, 0x9098
mov word [0x48d0f8], ax
push edi
push esi
call fcn.0042862d
add esp, 8
add dword [0x488f78], 0x8986128a
mov ecx, dword [esp + 0x998]
call fcn.004178c0
lea esi, [esp + 0xea]
push eax
push ebx
push esi
call fcn.00402063
add esp, 0xc
mov eax, dword [0x488ec0]
mov cx, word [0x48d3be]
xor ecx, eax
mov word [0x48d3be], cx
push ebx
mov eax, 3
push eax
call fcn.0042862d
add esp, 8
mov eax, dword [0x489754]
or eax, 0x6e83
xor eax, 0x107c
mov cx, word [0x48c9cc]
imul ecx, eax
mov word [0x48c9cc], cx
lea edi, [esp + 0x70]
mov ecx, edi
push esi
call fcn.0040e448
lea ecx, [esp + 0x544]
push edi
call fcn.0041b13e
mov ecx, edi
call fcn.004019e0
mov eax, dword [0x48aa20]
add eax, 0xaf402b52
xor eax, 0x234139d1
or dword [0x48a5cc], eax
mov ax, word [0x48d2c6]
cwde
xor dword [0x486094], eax
mov ebx, 5
push ebx
push 0x1f82
call fcn.00418b05
add esp, 8
mov esi, eax
mov eax, dword [0x488b1c]
mov dword [0x48b564], eax
lea edi, [esp + 0x5c]
mov ecx, edi
push esi
call fcn.0040e448
lea ecx, [esp + 0x544]
push edi
call fcn.0041b13e
mov ecx, edi
call fcn.004019e0
mov eax, dword [0x48a448]
imul eax, eax, 0xff015008
mov dword [0x48a448], eax
push esi
push ebx
call fcn.0042862d
add esp, 8
add dword [0x48b110], 0x61d8674f
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0x998]
je 0x41c0eb
mov eax, dword [0x487bb4]
lea ecx, [eax - 1]
mov dword [0x487bb4], ecx
cmp eax, 0xb3f060d9
jne 0x41c0c9
mov eax, dword [0x48b1d8]
and eax, 0x58000031
or eax, 0x27097a8e
mov ecx, dword [0x48bd50]
sub ecx, eax
mov dword [0x48bd50], ecx
lea ecx, [esp + 0x544]
push edx
call fcn.0041b13e
mov eax, dword [0x487734]
sar eax, 4
mov ecx, 0x754a31c
sub ecx, eax
add dword [0x487154], ecx
mov ax, word [0x48d636]
and eax, 0xf869
mov word [0x48d636], ax
lea eax, [esp + 0x7c4]
push eax
call dword [0x485ea0]
mov cx, word [0x48dd54]
movsx ecx, cx
mov edx, dword [0x489e58]
lea esi, [edx - 1]
mov dword [0x489e58], esi
add edx, 0x593e1769
and edx, ecx
cmp edx, 0xb1ced9a4
jg 0x41c147
mov cx, word [0x48cbba]
add ecx, 0xffff878a
mov word [0x48cbba], cx
test eax, eax
je 0x41c326
mov cx, word [0x48f1ec]
movsx ecx, cx
or ecx, 0x2938e700
xor ecx, 0xd6c718ff
mov dx, word [0x48e2a8]
movsx edx, dx
shl edx, 8
or edx, ecx
mov ecx, dword [0x4863c0]
imul ecx, edx
mov dword [0x4863c0], ecx
xor esi, esi
mov dword [esp + 0x564], esi
mov dword [esp + 0x560], esi
mov dword [esp + 0x55c], esi
mov dword [esp + 0x558], esi
mov cx, word [0x48e11a]
imul ecx, ecx, 0x4d96
mov word [0x48e11a], cx
mov word [esp + 0x558], 2
mov cx, word [0x48c9d4]
dec ecx
mov word [0x48c9d4], cx
movsx ecx, cx
mov edx, dword [0x48acd8]
xor edx, ecx
xor edx, 0x8078a708
mov dword [0x48acd8], edx
mov edi, dword [0x485ea8]
mov ecx, dword [0x485eac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
sub esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call ecx
push eax
call edi
mov dword [esp + 0x55c], eax
mov ax, word [0x48dcf0]
add eax, 0x18f2
mov word [0x48dcf0], ax
sub esp, 4
movzx eax, bp
mov dword [esp], eax
call dword [0x485ea4]
mov word [esp + 0x55a], ax
mov ax, word [0x48cf62]
lea ecx, [eax + 1]
mov word [0x48cf62], cx
cwde
imul eax, eax, 0x1941ab3c
add dword [0x488798], eax
cmp dword [esp + 0x978], esi
je 0x41c343
mov ax, word [0x48e796]
add eax, 0x1eb3
mov word [0x48e796], ax
mov eax, 0x10624dd3
mul dword [esp + 0x978]
shr edx, 6
lea eax, [esp + 0x558]
push edx
push eax
call fcn.004236d4
add esp, 8
mov ebp, eax
mov eax, dword [0x48641c]
mov ecx, dword [0x489df4]
imul ecx, eax
mov eax, dword [0x48b834]
xor eax, ecx
mov ecx, dword [0x4883c4]
imul ecx, eax
mov dword [0x4883c4], ecx
test ebp, ebp
js 0x41c452
or dword [0x48ae3c], 0x8aba229d
mov esi, 4
lea edi, [esp + 0x978]
mov ebx, 0xffff
push esi
push edi
push 0x1006
push ebx
push ebp
call dword [0x485ec0]
mov eax, dword [0x48abcc]
lea ecx, [eax - 1]
mov dword [0x48abcc], ecx
mov ecx, 0x8bbaa6c5
sub ecx, eax
add dword [0x4893fc], ecx
push esi
push edi
push 0x1005
push ebx
push ebp
call dword [0x485ec0]
add dword [0x48981c], 0xdba76dae
jmp 0x41c3d3
mov eax, dword [0x48ab18]
lea ecx, [eax - 1]
mov dword [0x48ab18], ecx
xor eax, 0x5e4c902f
mov dword [0x489100], eax
jmp 0x41cd94
mov word [0x48c786], 0xdb3f
push 6
push 1
push 2
call dword [0x485ec4]
mov ebp, eax
inc dword [0x48bc88]
mov eax, dword [0x48995c]
mov ax, word [0x48e47c]
inc eax
mov word [0x48e47c], ax
imul eax, eax, 0x5963
xor eax, 0x6433
mov cx, word [0x48dbae]
and ecx, eax
mov word [0x48dbae], cx
cmp ebp, 0xffffffff
je 0x41c499
mov ax, word [0x48d11c]
imul eax, eax, 0x3bf6
mov word [0x48d11c], ax
lea eax, [esp + 0x558]
push 0x10
push eax
push ebp
call dword [0x485e9c]
cmp eax, 0xffffffff
je 0x41cb2d
mov ax, word [0x48de00]
xor eax, 0xc8bf
mov word [0x48de00], ax
mov eax, dword [0x48a36c]
sar eax, 7
add eax, 0x81162f00
mov cx, word [0x48e5f8]
movsx ecx, cx
and ecx, eax
cmp ecx, 0x1a032140
jg 0x41c424
mov eax, dword [0x488dc0]
dec eax
mov dword [0x488dc0], eax
xor eax, 0xd70d6268
cmp eax, 0xcc64cc06
jg 0x41c4e6
mov eax, dword [0x4884d0]
imul eax, eax, 0x26837d95
mov dword [0x4884d0], eax
jmp 0x41c4f7
mov eax, dword [0x48a628]
dec eax
mov dword [0x48a628], eax
cmp eax, 0xe0f0307a
jl 0x41c4f7
mov eax, dword [0x487020]
not eax
imul eax, eax, 0xc598b79e
add dword [0x48b968], eax
jmp 0x41c4f7
mov eax, dword [0x486fa4]
imul eax, eax, 0x67e75113
cmp eax, 0x51660cc4
jne 0x41cd94
mov eax, dword [0x486d98]
dec eax
mov dword [0x486d98], eax
mov ecx, dword [0x48a534]
shl ecx, 6
xor ecx, eax
cmp ecx, 0x89259cd2
jg 0x41cb91
add dword [0x48a2e0], 0xb5646a63
jmp 0x41cd94
or dword [0x48bcfc], 0x3331c9f3
jmp 0x41cd94
add dword [0x4893a0], 0xfb197a3c
call fcn.00415ed0
add dword [0x487d58], 0x17e34a0
inc dword [0x48b234]
mov eax, dword [0x487390]
sar eax, 5
mov cx, word [0x48ef3a]
movsx ecx, cx
sub eax, ecx
and dword [0x4872cc], eax
jmp 0x41ce54
mov ax, word [0x48edd6]
add eax, 0x6a8b
mov word [0x48edd6], ax
mov ebx, dword [0x485ebc]
lea esi, [esp + 0x544]
mov ecx, esi
call fcn.004178c0
mov edi, eax
mov ecx, esi
call fcn.0041dc96
push 0
push edi
push eax
push ebp
call ebx
mov edi, eax
mov eax, dword [0x488a74]
add eax, 0x83183079
or dword [0x489cbc], eax
mov ecx, esi
call fcn.004178c0
cmp edi, eax
jae 0x41c578
mov eax, dword [0x486c4c]
sar eax, 7
xor eax, 0x7db1dbf0
cmp eax, 0xc0d734aa
jl 0x41cd61
mov eax, dword [0x48b728]
lea ecx, [eax + 1]
mov dword [0x48b728], ecx
add eax, 0x15a86bb9
cmp eax, 0xedb6192
jl 0x41cd61
mov eax, dword [0x48825c]
jmp 0x41cd61
mov dword [esp + 0xc], ebp
mov eax, dword [0x48aecc]
xor eax, 0xbde9
mov cx, word [0x48c1ac]
and ecx, eax
mov word [0x48c1ac], cx
mov ebp, dword [esp + 0x998]
mov ecx, ebp
call fcn.00415ed0
add dword [0x4887e0], 0x1ddc8674
xor edi, edi
dec edi
mov dword [esp + 8], 0
lea ebx, [esp + 0x1c]
mov dword [esp + 0x10], edi
jmp 0x41c5cd
or dword [0x488ee8], 0x4ef52b97
mov eax, dword [0x4876c4]
lea ecx, [eax - 1]
mov dword [0x4876c4], ecx
cmp eax, 0xb67f8ead
jne 0x41c5ec
mov dword [0x4881ec], 0xecebaadd
push 0
push 0x400
lea eax, [esp + 0xf2]
push eax
push dword [esp + 0x18]
call dword [0x485eb4]
mov esi, eax
mov eax, dword [0x487a44]
lea ecx, [eax - 1]
mov dword [0x487a44], ecx
add eax, 0x242fbe23
mov cx, word [0x48d7aa]
imul ecx, eax
mov word [0x48d7aa], cx
test esi, esi
jle 0x41caec
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.00423373
add esp, 8
test eax, eax
jne 0x41caec
mov ax, word [0x48eb82]
cwde
sar eax, 9
mov cx, word [0x48cce6]
dec ecx
mov word [0x48cce6], cx
movsx ecx, cx
mov edx, dword [0x487fc8]
add ecx, eax
lea eax, [edx + ecx + 0x20822e2c]
mov dword [0x487fc8], eax
mov ecx, ebp
call fcn.004178c0
add eax, esi
mov ecx, ebp
push 0
push eax
call fcn.0040758e
mov dword [0x4873d8], 0xa3c7e3c1
mov ecx, ebp
call fcn.0040ed6e
test eax, eax
je 0x41cb7b
add dword [0x488954], 0xf2dcca3a
mov ecx, ebp
push esi
lea eax, [esp + 0xee]
push eax
call fcn.0041ecec
mov dword [0x489d24], 0x3d965747
test edi, edi
jns 0x41c89a
mov eax, dword [0x48c0d0]
sar eax, 7
or eax, 0x3d864117
cmp eax, 0xd028b5f7
jg 0x41c711
mov eax, dword [0x487bb8]
dec eax
mov dword [0x487bb8], eax
mov ecx, dword [0x48a0bc]
sar ecx, 3
add ecx, 0x2bf0f4b3
mov edx, dword [0x486480]
and ecx, eax
and ecx, edx
mov dword [0x486480], ecx
mov eax, 5
push eax
push 0x1f82
call fcn.00418b05
add esp, 8
mov esi, eax
mov ax, word [0x48d168]
cwde
imul eax, eax, 0xd6885940
xor eax, 0xb6d3f7c1
or dword [0x488eb0], eax
lea ebx, [esp + 0x44]
mov ecx, ebx
push esi
call fcn.004035ee
mov ecx, ebp
push 0
push ebx
call fcn.0040f784
mov edi, eax
mov ecx, ebx
call fcn.004019e0
mov eax, dword [0x48aa24]
mov ecx, dword [0x48b02c]
lea edx, [ecx - 1]
mov dword [0x48b02c], edx
add eax, ecx
or eax, 0x973e9160
add dword [0x486df4], eax
push esi
mov eax, 5
push eax
call fcn.0042862d
add esp, 8
mov dword [0x488010], 0xd14fd86d
test edi, edi
js 0x41c88c
add dword [0x487dc0], 0xe1106e4b
add edi, 4
mov eax, dword [0x48bc40]
or eax, 0xe88c
mov cx, word [0x48efc6]
xor ecx, eax
mov word [0x48efc6], cx
push ebp
call fcn.0041f411
add esp, 4
mov dword [esp + 0x10], eax
xor dword [0x487848], 0x9350f6a2
test eax, eax
jns 0x41c86e
mov dword [esp + 4], edi
mov dword [0x487d24], 0x3911b62e
mov eax, 0xb
push eax
push 0x710e
call fcn.00418b05
add esp, 8
mov esi, eax
or dword [0x488160], 0x8d042c92
lea ebx, [esp + 0x30]
mov ecx, ebx
push esi
call fcn.004035ee
mov ecx, ebp
mov edi, ebp
push 0
push ebx
call fcn.0040f784
mov ebp, eax
mov ecx, ebx
call fcn.004019e0
or dword [0x487ff8], 0xd032814e
push esi
mov eax, 0xb
push eax
call fcn.0042862d
add esp, 8
add dword [0x48ad68], 0x2ab04a5c
test ebp, ebp
jns 0x41cc4b
or dword [0x48b62c], 0x52d37873
mov ebp, edi
mov edi, dword [esp + 4]
mov eax, dword [0x48a8d8]
sar eax, 6
mov ecx, dword [0x48801c]
lea edx, [ecx + 1]
mov dword [0x48801c], edx
sub eax, ecx
mov dword [0x489ea0], eax
or dword [0x48a05c], 0x1bb364b
lea ebx, [esp + 0x1c]
mov eax, dword [0x489a8c]
lea ecx, [eax + 1]
mov dword [0x489a8c], ecx
xor eax, 0xd04e4dd1
add dword [0x48be14], eax
cmp dword [esp + 0x10], 0
js 0x41c8ee
mov ax, word [0x48c454]
xor eax, 0xf82d
mov word [0x48c454], ax
mov ecx, ebp
call fcn.004178c0
sub eax, edi
cmp eax, dword [esp + 0x10]
jae 0x41cba7
mov ax, word [0x48db50]
mov dword [0x48830c], 0xa7eea5d8
mov eax, dword [0x48b198]
lea ecx, [eax + 1]
mov dword [0x48b198], ecx
and eax, 0xfa0701a8
cmp eax, 0xf9ede757
jg 0x41c913
mov ax, word [0x48d2c4]
mov eax, dword [0x489374]
cmp dword [esp + 0x9a0], 0
je 0x41ca6a
mov eax, dword [esp + 8]
and al, 1
jne 0x41ca6a
mov ax, word [0x48d4bc]
add eax, 0xffff8ac0
mov word [0x48d4bc], ax
mov ecx, ebp
call fcn.004178c0
cmp eax, 0x4001
jb 0x41ca56
mov eax, dword [0x48861c]
lea ecx, [eax + 1]
mov dword [0x48861c], ecx
mov cx, word [0x48d14e]
inc ecx
mov word [0x48d14e], cx
movsx ecx, cx
neg ecx
lea eax, [eax + ecx - 0x4f003ad4]
mov dword [0x48672c], eax
mov ax, word [0x48d968]
dec eax
mov word [0x48d968], ax
cwde
imul eax, eax, 0xc3f85eb8
mov ecx, dword [0x487658]
lea edx, [ecx + 1]
mov dword [0x487658], edx
and eax, ecx
mov dword [0x486be4], eax
mov ecx, ebx
push ebp
call fcn.0041b0b4
mov ax, word [0x48d744]
lea ecx, [eax + 1]
mov word [0x48d744], cx
cwde
mov ecx, 0xa88b23d6
sub ecx, eax
mov dword [0x48737c], ecx
test edi, edi
js 0x41ca01
add dword [0x489930], 0xf492961a
mov ecx, ebx
push 0
call fcn.00420af8
mov ecx, ebx
push edi
push eax
call fcn.0041f30e
mov ax, word [0x48c24a]
dec eax
mov word [0x48c24a], ax
mov word [0x48d94a], ax
mov ax, word [0x48ec76]
and eax, 0x1426
mov word [0x48ec76], ax
lea eax, [esp + 0x7c4]
push eax
push dword [esp + 0x9a4]
push ebx
call fcn.004228c5
add esp, 0xc
test eax, eax
je 0x41cbdf
mov ax, word [0x48ea4a]
cwde
and eax, 0x809400d2
or eax, 0x23627f24
and dword [0x48b5b0], eax
mov ecx, ebx
call fcn.004019e0
mov al, 1
mov dword [esp + 8], eax
mov eax, dword [0x48b5b8]
add eax, 0x7dc6f198
and eax, 0x84d9bd2e
mov dword [0x48b2b8], eax
mov ax, word [0x48cc9a]
xor dword [0x48764c], 0x77bfdebc
cmp dword [esp + 0x978], 0x3b03
jne 0x41cace
mov ax, word [0x48e138]
cwde
and eax, 0xb47e8beb
cmp eax, 0x2ca7f101
jg 0x41caa4
mov dword [0x486318], 0xa5d8028f
mov ecx, ebp
call fcn.004178c0
cmp eax, 0x500001
jae 0x41cbc7
mov eax, dword [0x48c074]
xor eax, 0xf613e040
mov ecx, dword [0x4868bc]
sub ecx, eax
mov dword [0x4868bc], ecx
mov eax, dword [0x488ffc]
lea ecx, [eax + 1]
mov dword [0x488ffc], ecx
cmp eax, 0x409f3290
jl 0x41c5cd
jmp 0x41c5c3
mov eax, dword [0x487498]
lea ecx, [eax - 1]
mov dword [0x487498], ecx
add eax, 0x57384ce2
and eax, 0xbbe00a6e
cmp eax, 0x14764868
jg 0x41cb64
mov eax, dword [0x48abc0]
shr eax, 3
add eax, 0x1aec
mov cx, word [0x48dd1e]
or ecx, eax
mov word [0x48dd1e], cx
jmp 0x41cc5b
mov eax, dword [0x48ab54]
lea ecx, [eax - 1]
mov dword [0x48ab54], ecx
imul eax, eax, 0xf8d7c0d4
mov ecx, dword [0x48a748]
dec ecx
mov dword [0x48a748], ecx
sub eax, ecx
mov ecx, dword [0x4862e8]
imul ecx, eax
mov dword [0x4862e8], ecx
jmp 0x41cd61
mov eax, dword [0x48a4a0]
not eax
and eax, 0x87b93ec6
or dword [0x4879f8], eax
jmp 0x41cc5b
mov ax, word [0x48c6ca]
add eax, 0xffffbae0
mov word [0x48c6ca], ax
jmp 0x41cc5b
mov ax, word [0x48d418]
xor eax, 0x4010
mov word [0x48d418], ax
jmp 0x41cd94
mov eax, dword [0x487294]
inc eax
mov dword [0x487294], eax
mov cx, word [0x48d100]
and ecx, eax
mov word [0x48d100], cx
jmp 0x41cc5b
mov eax, dword [0x487d58]
cmp eax, 0xffff7765
jne 0x41cc38
add dword [0x488d3c], 0xfffffbff
jmp 0x41cc5b
mov eax, dword [0x48a7a4]
or eax, 0x659847e2
xor eax, 0x9a67b81d
mov ecx, dword [0x48974c]
sub ecx, eax
mov dword [0x48974c], ecx
mov eax, dword [0x48a52c]
or eax, 0xb2a615b7
xor dword [0x489c80], eax
mov ecx, ebp
call fcn.00415ed0
add dword [0x48ba18], 0xd46d5eb0
lea ecx, [esp + 0x1c]
call fcn.004019e0
add dword [0x48632c], 0x9ccc69b5
mov al, 1
mov dword [esp + 8], eax
jmp 0x41ccac
mov eax, dword [0x48a388]
imul eax, eax, 0xc6b41aa0
xor dword [0x4873f0], eax
jmp 0x41cc5b
or dword [0x488e54], 0x92dabd89
mov ebp, edi
mov edi, dword [esp + 4]
add dword [0x48632c], 0x9ccc69b5
test edi, edi
js 0x41ccac
xor dword [0x487ea4], 0x816e95e1
mov ecx, ebp
push 0
call fcn.00420af8
mov ecx, ebp
push edi
push eax
call fcn.0041f30e
mov ax, word [0x48e632]
inc eax
mov word [0x48e632], ax
or eax, 0xfffff657
xor eax, 0x920
mov cx, word [0x48f148]
and ecx, eax
mov word [0x48f148], cx
mov edx, dword [esp + 0x9a0]
mov esi, dword [esp + 0xc]
mov eax, dword [0x48617c]
mov ecx, dword [0x48a628]
imul ecx, eax
imul eax, ecx, 0x76d956c9
mov dword [0x48a628], eax
test edx, edx
je 0x41cd40
mov eax, dword [esp + 8]
and al, 1
jne 0x41cd40
mov eax, dword [0x48af2c]
sar eax, 3
xor eax, 0xe4ee4171
or dword [0x489c64], eax
lea eax, [esp + 0x7c4]
push eax
push edx
push ebp
call fcn.004228c5
add esp, 0xc
test eax, eax
jne 0x41cd36
mov eax, dword [0x489ef4]
add eax, 0x8b27d8e9
xor dword [0x489624], eax
mov ecx, ebp
call fcn.00415ed0
mov eax, dword [0x487ec0]
and eax, 0xb2f9
mov cx, word [0x48ed76]
or ecx, eax
mov word [0x48ed76], cx
add dword [0x489c34], 0xb94276c5
mov eax, dword [0x48a2b8]
lea ecx, [eax + 1]
mov dword [0x48a2b8], ecx
cmp eax, 0x1084a2c7
jl 0x41cd5f
xor dword [0x4883e8], 0x47a5feff
mov ebp, esi
push 2
push ebp
call dword [0x485ecc]
mov eax, dword [0x4862a0]
mov ecx, dword [0x48a060]
and ecx, eax
and ecx, 0x65643a28
mov dword [0x48a060], ecx
push ebp
call dword [0x485e98]
add dword [0x48ac8c], 0x2b793abf
mov esi, 0xda
lea eax, [esp + 0x7c4]
push esi
push eax
call fcn.0042076e
add esp, 8
mov eax, dword [0x48838c]
mov ecx, 0x91e687d6
sub ecx, eax
mov word [0x48c2b0], cx
lea eax, [esp + 0x89e]
push esi
push eax
call fcn.0042076e
add esp, 8
mov dword [0x486764], 0x2b4c4e80
lea eax, [esp + 0x56a]
push 0x25a
push eax
call fcn.0042076e
add esp, 8
mov eax, dword [0x48b630]
imul eax, eax, 0x2358f745
mov dword [0x48b630], eax
lea eax, [esp + 0xea]
push 0x45a
push eax
call fcn.0042076e
add esp, 8
mov eax, dword [0x48a488]
mov ecx, 0xaa6d7977
sub ecx, eax
cmp ecx, 0x701082c3
jl 0x41ce37
mov eax, dword [0x48b81c]
add dword [0x486450], 0xbc191078
jmp 0x41ce48
mov ax, word [0x48c6ce]
or eax, 0x36dd
mov word [0x48c6ce], ax
lea ecx, [esp + 0x544]
call fcn.004019e0
add esp, 0x97c
pop esi
pop edi
pop ebx
pop ebp
ret