Function at 0x40cbf0
Capabilities:
Encode data using base64

Disassembly:
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [esp + 0x90]
mov cl, byte [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x70], eax
and cl, 1
mov byte [esp + 0x6f], cl
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], esi
mov eax, dword [0x49f774]
xor eax, 0xdf97dfed
mov dword [0x49f774], eax
mov eax, dword [0x49f448]
imul eax, eax, 0x49ab4770
mov edx, dword [0x4a1320]
sub edx, eax
mov dword [0x4a1320], edx
mov eax, dword [0x4a4074]
xor eax, 0xb27339aa
mov dword [0x4a4074], eax
mov eax, dword [0x49f448]
imul eax, eax, 0xc6cd4c10
mov dword [0x49f448], eax
mov dword [esp + 0x54], 0
mov eax, dword [0x4a3d9c]
add eax, 0xc1991516
mov dword [0x4a3d9c], eax
mov dword [esp + 0x50], 0
mov eax, dword [0x49ad40]
and eax, 0x9dfa1277
mov dword [0x49ad40], eax
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0xa8d1
call fcn.0040dbe0
mov dword [esp + 0x38], eax
mov di, word [0x494734]
mov ax, di
dec eax
mov bx, ax
mov word [0x494734], bx
movsx eax, di
mov edx, dword [0x4991e0]
imul eax, edx
mov edx, dword [0x49ed4c]
sub edx, eax
mov dword [0x49ed4c], edx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x4939
call fcn.0040dbe0
mov dword [esp + 0x60], eax
mov eax, dword [0x49f8bc]
or eax, 0x10e0
mov edx, dword [0x4a2510]
xor edx, eax
mov dword [0x4a2510], edx
mov eax, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x45]
mov dword [edx], eax
call fcn.00454eb0
mov edx, dword [0x49a640]
add edx, 0x5e52eb88
mov dword [0x49a640], edx
mov edx, esp
mov dword [edx + 4], 4
mov dword [edx], 0x4bf0
mov dword [esp + 0x34], eax
call fcn.0040dbe0
mov dword [esp + 0x5c], eax
mov dword [0x4a2384], 0x22d403ec
mov eax, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 4
call fcn.00402190
mov eax, dword [0x49bf78]
imul eax, eax, 0x2ea6f2c1
xor eax, 0xf3b5137b
mov edx, dword [0x4a0cb8]
add edx, eax
mov dword [0x4a0cb8], edx
mov eax, dword [esp + 0x5c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x41]
mov dword [edx], eax
call fcn.00454eb0
mov edx, dword [0x4a0a88]
shl edx, 4
mov esi, 0x567ed33c
sub esi, edx
mov edx, dword [0x4a17b0]
and edx, esi
mov dword [0x4a17b0], edx
mov edx, esp
mov dword [edx + 4], 4
mov dword [edx], 0x2d2f
mov dword [esp + 0x30], eax
call fcn.0040dbe0
mov dword [esp + 0x58], eax
mov eax, dword [0x49b378]
and eax, 0x9eac3cc5
mov dword [0x49b378], eax
mov eax, dword [esp + 0x5c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 4
call fcn.00402190
mov eax, dword [0x4a37b8]
imul eax, eax, 0x881a1400
mov edx, dword [0x4995e0]
or edx, eax
mov dword [0x4995e0], edx
mov eax, dword [esp + 0x58]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x3d]
mov dword [edx], eax
call fcn.00454eb0
mov di, word [0x4981c6]
mov dx, di
and edx, 0xcd3f
mov di, dx
mov word [0x4981c6], di
mov edx, dword [esp + 0x58]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 4
mov dword [esp + 0x2c], eax
call fcn.00402190
mov eax, dword [0x49b5d0]
xor eax, 0xcdbebfe
mov dword [0x49b5d0], eax
cmp dword [esp + 0x68], 0
je 0x40d320
mov eax, dword [0x4a2a20]
mov ecx, eax
dec ecx
mov dword [0x4a2a20], ecx
add eax, 0x7faeca13
mov ecx, dword [0x4a19e0]
sub ecx, 0x9eccfa03
add ecx, 0xd0544fce
cmp eax, ecx
jl 0x40ceb5
mov eax, dword [0x4a3a88]
add eax, 0xbcf2d835
mov dword [0x4a3a88], eax
mov eax, 0x2437cc66
mov ecx, dword [esp + 0x68]
dec ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [0x4a06fc]
xor ecx, 0xfffd7fff
mov dword [0x4a06fc], ecx
mov ecx, dword [esp + 0x64]
mov dl, byte [ecx]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x4d], dl
mov ecx, dword [0x4a1818]
mov esi, dword [0x49eca4]
inc esi
mov dword [0x49eca4], esi
add ecx, esi
cmp eax, ecx
je 0x40cf0f
mov eax, dword [0x499818]
add eax, 0x2c42aa14
mov dword [0x499818], eax
mov eax, 0x4036a324
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov dx, word [0x496cb0]
mov cx, dx
add ecx, 0xb667fec0
mov dx, cx
mov word [0x496cb0], dx
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
mov dx, word [0x496f1a]
mov cx, dx
inc ecx
mov si, cx
mov word [0x496f1a], si
movsx ecx, dx
xor ecx, 0xf74100a9
cmp eax, ecx
jl 0x40cfc5
mov eax, dword [0x49e610]
or eax, 0x2338012a
mov ecx, dword [0x49ecd8]
mov edx, ecx
inc edx
mov dword [0x49ecd8], edx
mov edx, dword [0x499248]
sar edx, 6
sub ecx, edx
or ecx, 0xaf8f8a45
cmp eax, ecx
jg 0x40cfc0
mov eax, dword [0x4a1f40]
mov ecx, eax
dec ecx
mov dword [0x4a1f40], ecx
and eax, 0x8110006c
cmp eax, 0x36fe4f2b
je 0x40cfbb
jmp 0x40cfbb
jmp 0x40cfc0
jmp 0x40cfc5
cmp dword [esp + 0x54], 3
jne 0x40d30c
mov eax, dword [0x4a0860]
and eax, 0x76b1f56e
mov dword [0x4a0860], eax
movzx eax, byte [esp + 0x4d]
shr eax, 2
mov cl, al
mov byte [esp + 0x49], cl
mov eax, dword [0x4a3ba0]
mov edx, dword [0x499564]
xor edx, eax
mov dword [0x499564], edx
movzx eax, byte [esp + 0x4d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x4a], cl
mov eax, dword [0x4a1620]
add eax, 0x8bfcf7d
mov dword [0x4a1620], eax
movzx eax, byte [esp + 0x4e]
shr eax, 4
movzx edx, byte [esp + 0x4a]
add edx, eax
mov cl, dl
mov byte [esp + 0x4a], cl
mov si, word [0x4964aa]
mov ax, si
imul eax, eax, 0xb6b0370b
mov si, ax
mov word [0x4964aa], si
movzx eax, byte [esp + 0x4e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x4b], cl
mov eax, dword [0x4a1a24]
imul eax, eax, 0xbfef3dff
mov dword [0x4a1a24], eax
movzx eax, byte [esp + 0x4f]
shr eax, 6
movzx edx, byte [esp + 0x4b]
add edx, eax
mov cl, dl
mov byte [esp + 0x4b], cl
mov eax, dword [0x49aae0]
and eax, 0x314c03b5
mov dword [0x49aae0], eax
movzx eax, byte [esp + 0x4f]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x4c], cl
mov eax, dword [0x49f664]
and eax, 0x866c03c6
mov edx, dword [0x49db58]
xor edx, eax
mov dword [0x49db58], edx
mov dword [esp + 0x54], 0
mov eax, dword [0x4a37a4]
mov edx, dword [0x49da28]
sub edx, eax
mov dword [0x49da28], edx
cmp dword [esp + 0x54], 4
je 0x40d2e6
mov eax, 0xfddb523b
mov ecx, dword [0x4a3ca0]
imul ecx, ecx, 0x2d7a692e
xor ecx, 0x2cfe90f9
cmp eax, ecx
jle 0x40d11a
mov eax, dword [0x4a0cfc]
sar eax, 2
mov ecx, dword [0x49d05c]
and ecx, eax
mov dword [0x49d05c], ecx
jmp 0x40d15a
mov ax, word [0x49384a]
movsx ecx, ax
or ecx, 0x499d268
mov edx, dword [0x49b40c]
sar edx, 7
add edx, 0xa0d681fd
or edx, 0x81c0502f
cmp ecx, edx
jge 0x40d155
mov eax, dword [0x49b7c0]
or eax, 0x38699119
mov dword [0x49b7c0], eax
jmp 0x40d15a
test byte [esp + 0x6f], 1
je 0x40d23d
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x40d23d
mov eax, dword [0x49c1f0]
imul eax, eax, 0xfdb07572
mov dword [0x49c1f0], eax
mov eax, dword [esp + 0x54]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x40d1e7
mov eax, dword [0x49d42c]
and eax, 0x41b9dc85
xor eax, 0x4195581b
mov dword [0x49c918], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00445ad0
sub esp, 4
mov ecx, dword [0x49cd10]
not ecx
mov edx, dword [0x49bec4]
imul ecx, edx
imul ecx, ecx, 0xaa8cccb2
mov dword [0x49bec4], ecx
mov dword [esp + 0x28], eax
jmp 0x40d221
mov eax, dword [0x49d384]
imul eax, eax, 0x9e0deef3
mov dword [0x49d384], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x41]
mov dword [eax], edx
call fcn.00445ad0
sub esp, 4
mov ecx, dword [0x49d290]
xor ecx, 0xef93fefd
mov dword [0x49d290], ecx
mov dword [esp + 0x24], eax
mov ax, word [0x498026]
movsx ecx, ax
mov edx, dword [0x4a3710]
or edx, ecx
mov dword [0x4a3710], edx
jmp 0x40d28c
mov ax, word [0x497c4c]
mov cx, ax
xor ecx, 0xd12a
mov ax, cx
mov word [0x497c4c], ax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
movzx edx, byte [esp + edx + 0x49]
mov esi, dword [esp + 0x38]
movsx edx, byte [esi + edx]
mov esi, esp
mov dword [esi], edx
call fcn.004413c0
sub esp, 4
mov ecx, dword [0x4a1f98]
imul ecx, ecx, 0x5e22a68c
mov dword [0x4a1f98], ecx
mov dword [esp + 0x20], eax
mov eax, dword [0x49e08c]
imul eax, eax, 0x552dec85
mov dword [0x49e08c], eax
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [0x4a0ab8]
cmp eax, 0x33cbec6b
je 0x40d2e1
mov eax, dword [0x49d9bc]
mov ecx, eax
dec ecx
mov dword [0x49d9bc], ecx
mov ecx, 0x88f9c0c
sub ecx, eax
mov dx, word [0x49381e]
mov ax, dx
imul eax, ecx
mov dx, ax
mov word [0x49381e], dx
jmp 0x40d0d5
mov eax, dword [0x49c2fc]
or eax, 0xaac820ff
mov dword [0x49c2fc], eax
mov dword [esp + 0x54], 0
mov eax, dword [0x49ab3c]
add eax, 0x372eff5e
mov dword [0x49ab3c], eax
mov eax, dword [0x49faf4]
add eax, 0xd2aee9c5
mov dword [0x49faf4], eax
jmp 0x40ce6e
mov dword [0x49bf1c], 0xff6ffbf7
cmp dword [esp + 0x54], 0
je 0x40d945
mov eax, 0x147c116c
mov cx, word [0x4971a8]
mov dx, cx
add edx, 0x1189f2fc
mov cx, dx
mov word [0x4971a8], cx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], edx
mov cx, word [0x494e28]
movsx edx, cx
shl edx, 7
cmp eax, edx
jg 0x40d38e
mov ax, word [0x497a90]
mov cx, ax
imul ecx, ecx, 0xf05699ab
mov ax, cx
mov word [0x497a90], ax
jmp 0x40d39d
mov eax, dword [0x49e15c]
add eax, 0x707ea14e
mov dword [0x49e15c], eax
jmp 0x40d3a2
cmp dword [esp + 0x50], 3
jge 0x40d3fb
mov eax, dword [0x4a08e0]
or eax, 0x5a50c053
mov dword [0x4a08e0], eax
mov eax, dword [esp + 0x50]
mov byte [esp + eax + 0x4d], 0
mov cx, word [0x497d8c]
mov ax, cx
xor eax, 0x593
mov cx, ax
mov word [0x497d8c], cx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [0x4a1304]
or eax, 0xad1e2abf
mov dword [0x4a1304], eax
jmp 0x40d3a2
mov eax, 0x50702fd6
mov ecx, dword [0x499de8]
add ecx, 0x7f7efee8
mov dword [0x499de8], ecx
movzx ecx, byte [esp + 0x4d]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x49], dl
mov ecx, dword [0x4a1ef4]
mov si, word [0x497fba]
mov di, si
sub edi, ecx
mov si, di
mov word [0x497fba], si
movzx ecx, byte [esp + 0x4d]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x4a], dl
mov si, word [0x496946]
mov cx, si
or ecx, 0xdf07
mov si, cx
mov word [0x496946], si
movzx ecx, byte [esp + 0x4e]
shr ecx, 4
movzx edi, byte [esp + 0x4a]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x4a], dl
mov si, word [0x4985f2]
mov cx, si
dec ecx
mov si, cx
mov word [0x4985f2], si
movsx ecx, si
add ecx, 0x315762e7
mov edi, dword [0x4997a8]
and edi, ecx
mov dword [0x4997a8], edi
movzx ecx, byte [esp + 0x4e]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x4b], dl
mov ecx, dword [0x49d8bc]
sar ecx, 0xa
mov edi, dword [0x498fb0]
and edi, ecx
mov dword [0x498fb0], edi
movzx ecx, byte [esp + 0x4f]
shr ecx, 6
movzx edi, byte [esp + 0x4b]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x4b], dl
mov ecx, dword [0x49d4f4]
mov edi, ecx
dec edi
mov dword [0x49d4f4], edi
and ecx, 0x59f0f701
mov edi, dword [0x4a28a8]
add edi, ecx
mov dword [0x4a28a8], edi
movzx ecx, byte [esp + 0x4f]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x4c], dl
mov ecx, dword [0x49ec54]
mov edi, ecx
dec edi
mov dword [0x49ec54], edi
cmp eax, ecx
jle 0x40d53b
mov dword [0x4a3b90], 0x7bb9b4fa
mov dword [esp + 0x50], 0
mov eax, dword [0x4a1bd8]
imul eax, eax, 0xe3aaf407
mov ecx, dword [0x49e9ec]
shl ecx, 3
sub ecx, 0x5e4add6
cmp eax, ecx
jg 0x40d5c3
mov eax, dword [0x49f014]
and eax, 0x1670882b
xor eax, 0x19554b9
cmp eax, 0xbcda2cb1
jle 0x40d596
mov eax, dword [0x49ffe0]
sar eax, 7
and eax, 0xe028d8a8
mov dword [0x4a32bc], eax
jmp 0x40d5be
mov eax, dword [0x4a2c54]
mov ecx, eax
dec ecx
mov dword [0x4a2c54], ecx
mov ecx, 0xfc17bdba
sub ecx, eax
mov eax, dword [0x49ea64]
and ecx, eax
and ecx, 0x686f4b4b
mov dword [0x49ea64], ecx
jmp 0x40d5c3
jmp 0x40d5c8
mov eax, dword [0x49ffc8]
or eax, 0x888783da
mov dword [0x49ffc8], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jle 0x40d615
mov eax, dword [0x49966c]
shr eax, 1
mov ecx, dword [0x49e5d4]
imul ecx, ecx, 0x7bd1fc00
add eax, ecx
mov dx, word [0x494ed4]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x494ed4], dx
jmp 0x40d7b8
mov ax, word [0x49459c]
mov cx, ax
or ecx, 0xa68c
mov ax, cx
mov word [0x49459c], ax
test byte [esp + 0x6f], 1
je 0x40d722
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3d
jle 0x40d722
mov eax, dword [0x4a3d54]
add eax, 0xd067e4b6
mov dword [0x4a3d54], eax
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
cmp eax, 0x3e
jne 0x40d6c4
mov eax, dword [0x498f20]
add eax, 0x7376893f
mov dword [0x498f20], eax
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00445ad0
sub esp, 4
mov ecx, dword [0x49b8b8]
mov edx, ecx
inc edx
mov dword [0x49b8b8], edx
mov edx, dword [0x4a34cc]
and edx, 0x6536a762
cmp ecx, edx
mov dword [esp + 0x1c], eax
jne 0x40d6bf
mov dword [0x4a279c], 0x28c8521
jmp 0x40d70e
mov ax, word [0x493d26]
mov cx, ax
imul ecx, ecx, 0x4d020fce
mov ax, cx
mov word [0x493d26], ax
mov ecx, dword [esp + 0x70]
mov edx, esp
lea esi, [esp + 0x41]
mov dword [edx], esi
call fcn.00445ad0
sub esp, 4
mov di, word [0x4957d4]
mov cx, di
add ecx, 0xd8a00125
mov di, cx
mov word [0x4957d4], di
mov dword [esp + 0x18], eax
mov eax, dword [0x49a8c8]
add eax, 0x5612c5ee
mov dword [0x49a8c8], eax
jmp 0x40d78b
mov eax, 0xdc03404b
mov ecx, dword [0x49d4e0]
inc ecx
mov dword [0x49d4e0], ecx
add ecx, 0x62e64783
cmp eax, ecx
je 0x40d74c
mov dword [0x4a2cbc], 0x498afe5f
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x49]
mov edx, dword [esp + 0x38]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.004413c0
sub esp, 4
mov si, word [0x495d18]
mov cx, si
or ecx, 0x3574
mov si, cx
mov word [0x495d18], si
mov dword [esp + 0x14], eax
mov eax, dword [0x49cff8]
imul eax, eax, 0xfe57fbdc
mov dword [0x49cff8], eax
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [0x49f4b4]
xor eax, 0x5eb1cbc9
mov dword [0x49f4b4], eax
jmp 0x40d5c8
jmp 0x40d7bd
cmp dword [esp + 0x54], 3
jge 0x40d936
mov eax, 0x1e98d173
mov ecx, dword [0x49bdb8]
mov edx, dword [0x4a3034]
sub edx, 0x4bb8bd13
xor ecx, edx
cmp eax, ecx
jg 0x40d7fd
mov eax, dword [0x49e38c]
and eax, 0x5df9c171
mov dword [0x49e38c], eax
jmp 0x40d80d
mov eax, dword [0x49e54c]
imul eax, eax, 0xec6249bf
mov dword [0x49e54c], eax
mov eax, 0xac244a50
mov ecx, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x49df74]
mov dx, word [0x4974b2]
mov si, dx
inc esi
mov dx, si
mov word [0x4974b2], dx
movsx esi, dx
add ecx, esi
cmp eax, ecx
je 0x40d85b
mov eax, dword [0x4a2cb4]
and eax, 0x7af15e29
mov ecx, dword [0x4999ac]
sub ecx, eax
mov dword [0x4999ac], ecx
test byte [esp + 0x6f], 1
je 0x40d8c2
mov eax, dword [0x49e8b4]
inc eax
mov dword [0x49e8b4], eax
mov ecx, dword [0x49cef0]
and ecx, eax
mov dword [0x49cef0], ecx
mov ecx, dword [esp + 0x70]
mov eax, esp
lea edx, [esp + 0x3d]
mov dword [eax], edx
call fcn.00445ad0
sub esp, 4
mov ecx, dword [0x49c3d4]
dec ecx
mov dword [0x49c3d4], ecx
and ecx, 0x2e31a2
mov edx, dword [0x49eaa8]
lea ecx, [edx + ecx + 0x5781ca0d]
mov dword [0x49eaa8], ecx
mov dword [esp + 0x10], eax
jmp 0x40d919
mov eax, dword [0x49db24]
xor eax, 0x4644ec6e
mov ecx, dword [0x49d704]
add ecx, eax
mov dword [0x49d704], ecx
mov ecx, dword [esp + 0x70]
mov eax, esp
mov dword [eax], 0x3d
call fcn.004413c0
sub esp, 4
mov ecx, dword [0x499b14]
dec ecx
mov dword [0x499b14], ecx
imul ecx, ecx, 0x30bbbdb0
add ecx, 0x4501fe15
mov edx, dword [0x49a52c]
sub edx, ecx
mov dword [0x49a52c], edx
mov dword [esp + 0xc], eax
mov ax, word [0x49527e]
mov cx, ax
and ecx, 0xe1
mov ax, cx
mov word [0x49527e], ax
jmp 0x40d7bd
mov eax, dword [0x4a08b8]
add eax, 0x808d3709
mov dword [0x4a08b8], eax
mov ax, word [0x496150]
movsx ecx, ax
shl ecx, 9
add ecx, 0x66df6693
cmp ecx, 0x2fa8c0d7
jle 0x40d96d
mov dword [0x49e854], 0xd0500
mov eax, 0xa26fdfce
mov ecx, dword [esp + 0x38]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 8], eax
call fcn.00402190
mov eax, dword [0x4a1294]
sar eax, 9
add eax, 0x1ec9211f
mov ecx, dword [0x49a5b4]
imul ecx, eax
mov dword [0x49a5b4], ecx
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00401450
mov si, word [0x493e96]
mov ax, si
xor eax, 0x7537
mov si, ax
mov word [0x493e96], si
mov eax, esp
lea ecx, [esp + 0x41]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00401450
mov eax, dword [0x49ef30]
mov ecx, eax
inc ecx
mov dword [0x49ef30], ecx
imul eax, eax, 0x336820f5
or eax, 0xb284f3c6
mov ecx, dword [0x4a1858]
imul ecx, eax
mov dword [0x4a1858], ecx
mov eax, esp
lea ecx, [esp + 0x3d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00401450
mov eax, dword [0x4a370c]
mov ecx, dword [esp + 8]
cmp ecx, eax
jle 0x40da5c
mov ax, word [0x497fd0]
movsx ecx, ax
add ecx, 0xb492a859
and ecx, 0x127e277d
mov edx, dword [0x49a97c]
or edx, ecx
mov dword [0x49a97c], edx
jmp 0x40da66
mov dword [0x49b734], 0x9162518d
add esp, 0x74
pop esi
pop edi
pop ebx
ret