Function at 0x41a4f0
Capabilities:
Encode data using base64

Disassembly:
push ebx
push edi
push esi
sub esp, 0x80
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x98]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov edi, 0xd84da539
mov dword [esp + 0x7c], eax
and cl, 1
mov byte [esp + 0x7b], cl
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
mov eax, dword [0x497fec]
xor eax, 0xffffffff
cmp edi, eax
je 0x41a584
mov eax, dword [0x49910c]
not eax
imul eax, eax, 0xaae333f1
mov ecx, dword [0x497a9c]
sar ecx, 1
add ecx, 0x1699eab0
sub ecx, 0xf653860d
cmp eax, ecx
jle 0x41a57f
mov ax, word [0x49a1a4]
mov cx, ax
and ecx, 0x1b92
mov ax, cx
mov word [0x49a1a4], ax
jmp 0x41a584
mov eax, 0x58c1f990
mov cx, word [0x49aa6c]
movsx edx, cx
add edx, 0xebb94358
cmp eax, edx
jge 0x41a5b9
mov eax, dword [0x4993a8]
add eax, 0xc7782f5a
mov ecx, dword [0x498580]
or ecx, eax
mov dword [0x498580], ecx
mov eax, 0xbe4c9c99
mov dword [0x498324], 0x80000150
mov ecx, dword [0x4985a8]
xor ecx, 0x74e6ef37
mov dword [0x4985a8], ecx
mov dword [esp + 0x60], 0
mov ecx, dword [0x499a30]
or ecx, 0x8c1e6b38
mov dword [0x499a30], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [0x497e10]
xor ecx, 0x2537f5fa
mov dword [0x497e10], ecx
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x609b
mov dword [esp + 0x40], eax
call fcn.0043a250
mov dword [esp + 0x44], eax
mov dx, word [0x49a072]
movsx eax, dx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x41a64f
mov eax, dword [0x49801c]
xor eax, 0x98f03c20
mov dword [0x49801c], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1d1b
call fcn.0043a250
mov dword [esp + 0x6c], eax
mov cx, word [0x49a2b6]
mov ax, cx
xor eax, 0x10a8
mov cx, ax
mov word [0x49a2b6], cx
mov eax, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x51]
mov dword [edx], eax
call fcn.00454960
mov edx, dword [0x4978d0]
inc edx
mov dword [0x4978d0], edx
imul edx, edx, 0x66d091c8
and edx, 0x7e7bb2a0
mov esi, dword [0x497b68]
mov edi, esi
dec edi
mov dword [0x497b68], edi
xor esi, 0x2f738c4f
cmp edx, esi
mov dword [esp + 0x3c], eax
jl 0x41a6e6
mov eax, dword [0x4996c8]
mov ecx, 0xa0dc42fb
sub ecx, eax
and ecx, 0xe1b0b0ad
mov dword [0x498830], ecx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x58ce
call fcn.0043a250
mov dword [esp + 0x68], eax
mov eax, dword [0x497d98]
or eax, 0x96e0809a
mov ecx, dword [0x4994b4]
mov edx, ecx
dec edx
mov dword [0x4994b4], edx
xor ecx, 0xa7e0882f
cmp eax, ecx
jge 0x41a73d
mov ax, word [0x49aabe]
mov cx, ax
imul ecx, ecx, 0xa809b59e
mov ax, cx
mov word [0x49aabe], ax
mov eax, 0x3f78b04
mov ecx, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x38], eax
call fcn.004050b0
mov si, word [0x499ebe]
mov ax, si
inc eax
mov si, ax
mov word [0x499ebe], si
movsx eax, si
mov dword [0x497c6c], eax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00454960
mov ecx, dword [0x498624]
mov si, cx
mov word [0x49aa10], si
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x66e4
mov dword [esp + 0x34], eax
call fcn.0043a250
mov dword [esp + 0x64], eax
mov eax, dword [0x497f28]
mov si, word [0x49a874]
movsx ecx, si
mov si, word [0x49a9f8]
movsx edx, si
sub ecx, edx
or eax, ecx
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jge 0x41a810
mov ax, word [0x499b7a]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x499b7a], ax
add ecx, 0x1e264d4e
mov ax, word [0x49aa3e]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x49aa3e], ax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004050b0
mov eax, dword [0x49949c]
inc eax
mov dword [0x49949c], eax
mov ecx, dword [0x498fcc]
inc ecx
mov dword [0x498fcc], ecx
imul eax, ecx
mov dword [0x4991fc], eax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.00454960
mov ecx, dword [0x4979b0]
and ecx, 0x3babc6fc
xor ecx, 0x9907a4b5
mov edx, dword [0x497fdc]
sub edx, ecx
mov dword [0x497fdc], edx
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x30], eax
call fcn.004050b0
mov si, word [0x49a9ec]
movsx eax, si
or eax, 0x20641266
mov ecx, dword [0x499a84]
xor ecx, eax
mov dword [0x499a84], ecx
cmp dword [esp + 0x74], 0
je 0x41ad94
mov eax, 0x2844bdb8
mov ecx, dword [0x497778]
add ecx, 0xdbac1e74
mov dword [0x497778], ecx
mov ecx, dword [esp + 0x74]
dec ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [0x49984c]
xor ecx, 0x3f263944
mov dword [0x49984c], ecx
mov ecx, dword [esp + 0x70]
mov dl, byte [ecx]
mov ecx, dword [esp + 0x60]
mov byte [esp + ecx + 0x59], dl
mov ecx, dword [0x497ce8]
add ecx, 0xc2b8c628
mov dword [0x497ce8], ecx
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [0x498278]
imul ecx, ecx, 0x8b2def98
mov esi, dword [0x499004]
and ecx, esi
cmp eax, ecx
je 0x41a947
mov eax, dword [0x4976c0]
or eax, 0xd272ec6c
mov ecx, dword [0x4999d4]
sub ecx, eax
mov dword [0x4999d4], ecx
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [0x498854]
xor eax, 0xfc7ab67b
mov dword [0x498854], eax
cmp dword [esp + 0x60], 3
jne 0x41ad80
mov eax, 0xdffa9bff
mov ecx, dword [0x498638]
xor ecx, 0xab0910a2
mov dword [0x498638], ecx
movzx ecx, byte [esp + 0x59]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x55], dl
mov si, word [0x49a8e4]
movsx ecx, si
shl ecx, 7
add ecx, 0x2b1bbf99
mov edi, dword [0x4982d0]
or ecx, edi
mov edi, dword [0x49949c]
or edi, ecx
mov dword [0x49949c], edi
movzx ecx, byte [esp + 0x59]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x56], dl
mov ecx, dword [0x49986c]
imul ecx, ecx, 0x7e776440
mov dword [0x49986c], ecx
movzx ecx, byte [esp + 0x5a]
shr ecx, 4
movzx edi, byte [esp + 0x56]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x56], dl
mov si, word [0x49ad2a]
mov cx, si
or ecx, 0x8936
mov si, cx
mov word [0x49ad2a], si
movzx ecx, byte [esp + 0x5a]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x57], dl
mov ecx, dword [0x49811c]
add ecx, 0xa1a92fc6
add ecx, 0x4159ac0d
cmp eax, ecx
jg 0x41aa5b
mov ax, word [0x49a0ce]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49a0ce], ax
movsx ecx, ax
mov edx, dword [0x4983a4]
xor edx, ecx
mov dword [0x4983a4], edx
movzx eax, byte [esp + 0x5b]
shr eax, 6
movzx ecx, byte [esp + 0x57]
add ecx, eax
mov dl, cl
mov byte [esp + 0x57], dl
mov si, word [0x499d48]
mov ax, si
and eax, 0x3421
mov si, ax
mov word [0x499d48], si
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x58], dl
mov eax, dword [0x498884]
not eax
mov ecx, dword [0x4993f4]
imul ecx, ecx, 0x954816eb
add eax, ecx
mov ecx, dword [0x49879c]
add ecx, eax
mov dword [0x49879c], ecx
mov dword [esp + 0x60], 0
mov dword [0x499520], 0x8c472084
cmp dword [esp + 0x60], 4
je 0x41ad4f
mov eax, dword [0x4988c4]
and eax, 0xc87ee00f
mov dword [0x4988c4], eax
test byte [esp + 0x7b], 1
je 0x41ac10
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x41ac10
mov eax, dword [0x4978f8]
add eax, 0x3c03e83
mov dword [0x4978f8], eax
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x41ab89
mov ax, word [0x499ea0]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x499ea0], ax
movsx ecx, ax
mov edx, dword [0x497cbc]
xor edx, ecx
mov dword [0x497cbc], edx
mov ecx, dword [esp + 0x7c]
mov edx, esp
lea esi, [esp + 0x51]
mov dword [edx], esi
call fcn.0043e460
sub esp, 4
mov di, word [0x49a8a2]
movsx ecx, di
imul ecx, ecx, 0xcbf44dec
and ecx, 0x2bab6790
mov edx, dword [0x499524]
xor edx, ecx
mov dword [0x499524], edx
mov dword [esp + 0x2c], eax
jmp 0x41abdf
mov eax, 0xeffafdfb
mov ecx, dword [0x49850c]
mov edx, ecx
inc edx
mov dword [0x49850c], edx
xor ecx, 0x6fd8d25f
cmp eax, ecx
jle 0x41abb5
mov dword [0x498d6c], 0x7f7df6db
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0043e460
sub esp, 4
mov ecx, dword [0x497730]
add ecx, 0x63222062
mov dword [0x497730], ecx
mov dword [esp + 0x28], eax
mov eax, 0x20a99358
mov ecx, dword [0x49869c]
cmp eax, ecx
jge 0x41ac0b
mov eax, dword [0x4987f0]
and eax, 0x879e7185
mov ecx, dword [0x4980c0]
imul ecx, eax
mov dword [0x4980c0], ecx
jmp 0x41ac78
mov eax, dword [0x4981d0]
mov ecx, eax
inc ecx
mov dword [0x4981d0], ecx
or eax, 0xa741dec9
mov ecx, dword [0x499148]
and ecx, eax
mov dword [0x499148], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
mov edx, dword [esp + 0x44]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0043c1e0
sub esp, 4
mov ecx, dword [0x498244]
xor ecx, 0x28f9
mov si, word [0x499c5c]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x499c5c], si
mov dword [esp + 0x24], eax
mov eax, 0xfeba1921
mov ecx, dword [0x499674]
dec ecx
mov dword [0x499674], ecx
cmp eax, ecx
jle 0x41acc2
mov eax, dword [0x498360]
dec eax
mov dword [0x498360], eax
xor eax, 0x260a
or eax, 0x59e0
mov cx, word [0x49a13a]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49a13a], cx
jmp 0x41acf0
mov eax, 0x2445c0dd
mov ecx, dword [0x4989c4]
shl ecx, 7
cmp eax, ecx
jle 0x41aceb
mov eax, dword [0x498e78]
mov ecx, eax
inc ecx
mov dword [0x498e78], ecx
mov dword [0x499018], eax
jmp 0x41acf0
mov eax, 0x8be700c1
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [0x4983c8]
shl ecx, 2
mov edx, dword [0x498080]
dec edx
mov dword [0x498080], edx
and ecx, edx
cmp eax, ecx
je 0x41ad3b
mov ax, word [0x499b08]
mov cx, ax
add ecx, 0xd8b8897a
mov ax, cx
mov word [0x499b08], ax
jmp 0x41ad4a
mov eax, dword [0x498b4c]
xor eax, 0xa0089c0
mov dword [0x498b4c], eax
jmp 0x41aacc
mov eax, dword [0x498b4c]
add eax, 0xb53e6abc
mov dword [0x498b4c], eax
mov dword [esp + 0x60], 0
mov cx, word [0x499de8]
mov ax, cx
imul eax, eax, 0x45de4cdf
mov cx, ax
mov word [0x499de8], cx
mov eax, dword [0x499ad8]
xor eax, 0xcb7f3080
mov dword [0x499ad8], eax
jmp 0x41a8ad
mov eax, dword [0x497ea8]
xor eax, 0xfc400e87
mov dword [0x497ea8], eax
cmp dword [esp + 0x60], 0
je 0x41b437
mov eax, dword [0x4999a4]
add eax, 0xf7048cd4
mov dword [0x4999a4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov eax, dword [0x4979ac]
xor eax, 0x4e7547ea
mov dword [0x4979ac], eax
cmp dword [esp + 0x5c], 3
jge 0x41ae79
mov eax, 0x311f8bcc
mov ecx, dword [0x497818]
or ecx, 0x85f731ed
or ecx, 0xc2a3b780
cmp eax, ecx
jg 0x41ae0d
mov eax, dword [0x498488]
xor eax, 0xa1cf8ae6
mov dword [0x498488], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x59], 0
mov cx, word [0x49a148]
movsx eax, cx
sar eax, 2
mov cx, word [0x49a70a]
movsx edx, cx
imul edx, edx, 0xd27eba31
or eax, edx
mov cx, word [0x49a1aa]
movsx edx, cx
xor edx, 0xce59d6dc
cmp eax, edx
jg 0x41ae5c
mov eax, dword [0x497a04]
add eax, 0x92d675b4
mov dword [0x497a04], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x499720]
and eax, 0xddc2551b
mov dword [0x499720], eax
jmp 0x41add4
mov ax, word [0x49a610]
mov cx, ax
imul ecx, ecx, 0xf6a8c3cd
mov ax, cx
mov word [0x49a610], ax
movzx ecx, byte [esp + 0x59]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x55], dl
mov dword [0x498748], 0x5b58bd33
movzx ecx, byte [esp + 0x59]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x56], dl
mov ecx, dword [0x4984ec]
not ecx
mov esi, dword [0x4984f8]
sub esi, 0x77f80a19
cmp ecx, esi
jl 0x41af1c
mov eax, 0x20c447e1
mov ecx, 0x3656cb8e
mov dx, word [0x499c82]
movsx esi, dx
mov edi, dword [0x497880]
sar edi, 8
sub ecx, edi
and esi, ecx
cmp eax, esi
jge 0x41af17
mov ax, word [0x499db6]
mov cx, ax
add ecx, 0x56a2de99
mov ax, cx
mov word [0x499db6], ax
jmp 0x41af1c
mov eax, 0x17f6c035
movzx ecx, byte [esp + 0x5a]
shr ecx, 4
movzx edx, byte [esp + 0x56]
add edx, ecx
mov bl, dl
mov byte [esp + 0x56], bl
mov ecx, dword [0x4982a4]
imul ecx, ecx, 0xad6d2d57
mov dword [0x4982a4], ecx
movzx ecx, byte [esp + 0x5a]
and ecx, 0xf
shl ecx, 2
mov bl, cl
mov byte [esp + 0x57], bl
mov ecx, dword [0x497bdc]
xor ecx, 0x2da17d5c
mov dword [0x497bdc], ecx
movzx ecx, byte [esp + 0x5b]
shr ecx, 6
movzx edx, byte [esp + 0x57]
add edx, ecx
mov bl, dl
mov byte [esp + 0x57], bl
mov ecx, dword [0x499168]
mov edx, ecx
dec edx
mov dword [0x499168], edx
mov dword [0x4999a4], ecx
movzx ecx, byte [esp + 0x5b]
and ecx, 0x3f
mov bl, cl
mov byte [esp + 0x58], bl
mov ecx, dword [0x4979c0]
sub eax, ecx
cmp eax, 0x1bd2614
je 0x41afce
mov eax, dword [0x4979c8]
or eax, 0x41b3d2d4
mov ecx, dword [0x4992e8]
and ecx, eax
mov dword [0x4992e8], ecx
mov dword [esp + 0x5c], 0
mov ax, word [0x49ad6c]
movsx ecx, ax
lea ecx, [ecx*4 - 0x51fad60f]
mov edx, dword [0x497734]
or edx, ecx
mov dword [0x497734], edx
mov eax, dword [0x498870]
shl eax, 9
or eax, 0xcc2fa88d
and eax, 0xed7fa88d
mov dword [0x497c3c], eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
jle 0x41b049
mov eax, 0xbff7bbbe
mov ecx, dword [0x497d58]
shl ecx, 1
sub ecx, 0x7b45efde
cmp eax, ecx
jl 0x41b044
mov eax, dword [0x497eec]
add eax, 0xcb8cfd4f
mov dword [0x497eec], eax
jmp 0x41b300
mov eax, dword [0x4976a4]
dec eax
mov dword [0x4976a4], eax
cmp eax, 0x205a9642
jg 0x41b08b
mov eax, dword [0x4996a4]
xor eax, 0xffffffff
xor eax, 0x5c4498c3
cmp eax, 0xae58e660
jge 0x41b086
mov eax, dword [0x49792c]
or eax, 0xe6d3a4f7
mov dword [0x49792c], eax
jmp 0x41b08b
test byte [esp + 0x7b], 1
je 0x41b1f0
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x41b1f0
mov eax, dword [0x499014]
add eax, 0xc466786d
mov dword [0x499014], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x41b123
mov eax, dword [0x497c6c]
or eax, 0x3d4b
mov cx, word [0x49a4c8]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49a4c8], cx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.0043e460
sub esp, 4
mov ecx, dword [0x498c54]
shl ecx, 5
mov edx, dword [0x499374]
xor ecx, edx
xor ecx, 0x216a0cb9
mov dword [0x499374], ecx
mov dword [esp + 0x20], eax
jmp 0x41b165
mov ax, word [0x49acc6]
mov cx, ax
xor ecx, 0x6c34
mov ax, cx
mov word [0x49acc6], ax
mov ecx, dword [esp + 0x7c]
mov edx, esp
lea esi, [esp + 0x4d]
mov dword [edx], esi
call fcn.0043e460
sub esp, 4
mov ecx, dword [0x498a2c]
xor ecx, 0x52051a96
mov dword [0x498a2c], ecx
mov dword [esp + 0x1c], eax
mov eax, 0x1001880
mov cx, word [0x49a800]
movsx edx, cx
cmp eax, edx
jl 0x41b1be
mov eax, 0x67da30aa
mov ecx, dword [0x497b38]
mov edx, ecx
inc edx
mov dword [0x497b38], edx
add ecx, 0x32c94e91
mov si, word [0x499df2]
movsx edx, si
xor ecx, edx
cmp eax, ecx
jl 0x41b1b9
mov eax, dword [0x498c3c]
or eax, 0xca2fd317
mov dword [0x498c3c], eax
jmp 0x41b1eb
mov eax, dword [0x498b08]
mov ecx, eax
dec ecx
mov dword [0x498b08], ecx
mov ecx, dword [0x498874]
mov edx, ecx
inc edx
mov dword [0x498874], edx
and eax, ecx
mov ecx, dword [0x498d84]
and ecx, eax
mov dword [0x498d84], ecx
jmp 0x41b2a7
mov eax, 0x843c9cb5
mov ecx, dword [0x499548]
mov dx, word [0x49a17e]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x49a17e], dx
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x5c]
movzx esi, byte [esp + esi + 0x55]
mov edi, dword [esp + 0x44]
movsx esi, byte [edi + esi]
mov edi, esp
mov dword [edi], esi
mov dword [esp + 0x18], eax
call fcn.0043c1e0
sub esp, 4
mov ecx, dword [0x4991b4]
mov esi, ecx
inc esi
mov dword [0x4991b4], esi
mov esi, dword [0x49801c]
inc esi
mov dword [0x49801c], esi
sub esi, 0xf3e67316
xor ecx, esi
mov esi, dword [esp + 0x18]
cmp esi, ecx
mov dword [esp + 0x14], eax
jge 0x41b2a2
mov eax, dword [0x4996d8]
and eax, 0x43acf343
mov ecx, dword [0x498f64]
imul ecx, ecx, 0x277aab35
add ecx, 0x6a95e644
cmp eax, ecx
jle 0x41b29d
mov eax, dword [0x498f04]
and eax, 0x182ef7e8
mov dword [0x498f04], eax
jmp 0x41b2a2
jmp 0x41b2a7
mov eax, 0xfc713ced
mov ecx, dword [0x497c78]
mov dx, word [0x49a196]
mov si, dx
lea ecx, [ecx + esi + 0x6fc8cf3]
mov dx, cx
mov word [0x49a196], dx
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov dx, word [0x49a5a4]
movsx ecx, dx
sar ecx, 0xa
cmp eax, ecx
jl 0x41b2fb
mov eax, dword [0x497f24]
imul eax, eax, 0x651772d1
mov dword [0x497f24], eax
jmp 0x41aff4
jmp 0x41b305
cmp dword [esp + 0x60], 3
jge 0x41b3ed
mov word [0x499ef0], 0x7e7d
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x499164]
xor eax, 0x17c4db1b
mov dword [0x499164], eax
test byte [esp + 0x7b], 1
je 0x41b397
mov eax, dword [0x49775c]
add eax, 0x1f4843e2
mov dword [0x49775c], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.0043e460
sub esp, 4
mov ecx, dword [0x4986a4]
not ecx
mov si, word [0x49a9e8]
movsx edx, si
xor ecx, edx
cmp ecx, 0xf3e9e079
mov dword [esp + 0x10], eax
jg 0x41b392
mov eax, dword [0x499548]
add eax, 0x20000c13
mov dword [0x499548], eax
jmp 0x41b3d0
mov eax, dword [0x498d44]
and eax, 0x6ad58e15
mov dword [0x498d44], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
mov dword [eax], 0x3d
call fcn.0043c1e0
sub esp, 4
mov ecx, dword [0x4995b0]
imul ecx, ecx, 0x1f5fecdf
mov dword [0x4995b0], ecx
mov dword [esp + 0xc], eax
mov ax, word [0x49ab0c]
mov cx, ax
add ecx, 0x95803d27
mov ax, cx
mov word [0x49ab0c], ax
jmp 0x41b305
mov eax, 0x73f62342
mov ecx, dword [0x499494]
inc ecx
mov dword [0x499494], ecx
xor ecx, 0x33815e01
cmp eax, ecx
jge 0x41b432
mov eax, dword [0x497f2c]
sar eax, 4
mov ecx, dword [0x49973c]
xor ecx, eax
mov eax, dword [0x497e2c]
xor ecx, eax
not ecx
mov eax, dword [0x4998f4]
or eax, ecx
mov dword [0x4998f4], eax
jmp 0x41b437
mov eax, 0x8ac25e48
mov ecx, dword [0x498ac4]
or ecx, 0xfe32a51e
mov dword [0x498ac4], ecx
mov ecx, dword [esp + 0x44]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 8], eax
call fcn.004050b0
mov eax, dword [0x499614]
sub eax, 0x4bbc901d
mov ecx, dword [esp + 8]
cmp ecx, eax
je 0x41b4a5
mov ax, word [0x49a2de]
movsx ecx, ax
lea ecx, [ecx*4 - 0x4a5a94fa]
xor ecx, 0x4d77d50a
mov edx, dword [0x497cb0]
add edx, ecx
mov dword [0x497cb0], edx
jmp 0x41b4b4
mov eax, dword [0x498748]
and eax, 0x82529771
mov dword [0x498748], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044b180
mov eax, dword [0x4976dc]
mov ecx, eax
dec ecx
mov dword [0x4976dc], ecx
or eax, 0xffdf7657
mov ecx, dword [0x497ae4]
and ecx, eax
mov dword [0x497ae4], ecx
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044b180
mov eax, dword [0x49857c]
imul eax, eax, 0xe22a987b
and eax, 0xdc8518f3
cmp eax, 0x3f6dccce
jne 0x41b558
mov eax, 0xe0945a8
mov ecx, dword [0x498130]
cmp eax, ecx
jne 0x41b553
mov eax, dword [0x498d74]
sar eax, 3
imul eax, eax, 0x2b125f61
xor eax, 0xbc4a1713
cmp eax, 0xdb6517b1
jg 0x41b54e
jmp 0x41b54e
jmp 0x41b553
jmp 0x41b558
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0044b180
mov dx, word [0x49a3d8]
movsx eax, dx
add eax, 0xd968b51e
mov ecx, dword [0x498618]
sub ecx, eax
mov dword [0x498618], ecx
add esp, 0x80
pop esi
pop edi
pop ebx
ret