Function at 0x423330
Capabilities:
Encode data using base64

Disassembly:
push edi
push esi
sub esp, 0x80
mov eax, dword [esp + 0x98]
mov cl, byte [esp + 0x94]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov edi, 0xbbc5916e
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 [0x498b38]
xor eax, 0xaa3692b6
mov edx, dword [0x498e20]
sub edx, eax
mov dword [0x498e20], edx
mov dword [0x497d34], 0x6040126
mov eax, dword [0x49c278]
mov edx, dword [0x495388]
xor edx, 0xffffffff
or eax, edx
cmp edi, eax
jle 0x4233ba
mov eax, dword [0x49a9dc]
or eax, 0x789a781f
mov dword [0x49a9dc], eax
jmp 0x4233f0
mov eax, 0x9b1e827e
mov ecx, dword [0x49ab7c]
mov edx, ecx
inc edx
mov dword [0x49ab7c], edx
sub ecx, 0x90d8d487
cmp eax, ecx
jne 0x4233eb
mov eax, dword [0x49c2e4]
xor eax, 0xf3b786e7
mov dword [0x49c2e4], eax
jmp 0x4233f0
mov eax, 0x6f61f714
mov ecx, dword [0x4979f8]
and ecx, 0xdffaf6f7
mov dword [0x4979f8], ecx
mov dword [esp + 0x60], 0
mov dx, word [0x48f316]
mov cx, dx
and ecx, 0x442a
mov dx, cx
mov word [0x48f316], dx
mov dword [esp + 0x5c], 0
mov ecx, dword [0x49ab8c]
mov esi, ecx
inc esi
mov dword [0x49ab8c], esi
mov dx, word [0x4903cc]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4903cc], dx
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x318d
mov dword [esp + 0x40], eax
call fcn.0042c7c0
mov dword [esp + 0x44], eax
mov dx, word [0x48fa8c]
mov ax, dx
add eax, 0x402440ec
mov dx, ax
mov word [0x48fa8c], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x35bf
call fcn.0042c7c0
mov dword [esp + 0x6c], eax
mov eax, dword [0x49b46c]
imul eax, eax, 0xd43daf06
mov dword [0x49b46c], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.004554d0
mov ecx, dword [0x4981bc]
mov esi, ecx
dec esi
mov dword [0x4981bc], esi
imul ecx, ecx, 0x693d415f
mov esi, dword [0x49a3e0]
sub esi, ecx
mov dword [0x49a3e0], esi
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x17d5
mov dword [esp + 0x3c], eax
call fcn.0042c7c0
mov dword [esp + 0x68], eax
mov eax, dword [0x49c66c]
xor eax, 0x7eeffee1
mov dword [0x49c66c], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.00450bc0
mov dword [0x49b1c4], 0x447e66d8
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.004554d0
mov ecx, dword [0x4944f0]
add ecx, 0x4018412b
mov dword [0x4944f0], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x2df1
mov dword [esp + 0x38], eax
call fcn.0042c7c0
mov dword [esp + 0x64], eax
mov dx, word [0x48f478]
movsx eax, dx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jle 0x4235c5
mov eax, 0xfff3fefb
mov ecx, dword [0x49ba3c]
sar ecx, 3
cmp eax, ecx
jl 0x4235c0
mov eax, dword [0x49a604]
mov ecx, dword [0x4968b8]
xor eax, ecx
mov ecx, dword [0x496148]
xor eax, ecx
xor eax, 0x2cda05ee
mov dword [0x496148], eax
jmp 0x4235c5
mov eax, 0x824a2e08
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x34], eax
call fcn.00450bc0
mov eax, dword [0x49b2a0]
xor eax, 0xa52bc3a0
mov dword [0x49b2a0], eax
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.004554d0
mov word [0x48f3de], 0x982
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x30], eax
call fcn.00450bc0
mov eax, dword [0x494c78]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jl 0x423646
mov eax, dword [0x498ad8]
add eax, 0xdb30d52a
mov dword [0x498ad8], eax
jmp 0x42364b
cmp dword [esp + 0x74], 0
je 0x423a83
mov eax, dword [0x49b9bc]
mov ecx, eax
inc ecx
mov dword [0x49b9bc], ecx
mov ecx, dword [0x49836c]
xor eax, ecx
mov ecx, dword [0x496aa8]
xor ecx, 0xffffffff
imul ecx, ecx, 0x6dab0248
cmp eax, ecx
je 0x42368c
mov word [0x48fc12], 0x9faf
mov eax, dword [esp + 0x74]
dec eax
mov dword [esp + 0x74], eax
mov eax, dword [0x49c264]
mov ecx, eax
dec ecx
mov dword [0x49c264], ecx
add eax, 0x5de8de9e
mov ecx, dword [0x495aec]
imul ecx, eax
mov dword [0x495aec], ecx
mov eax, dword [esp + 0x70]
mov dl, byte [eax]
mov eax, dword [esp + 0x60]
mov byte [esp + eax + 0x59], dl
mov si, word [0x490f0c]
movsx eax, si
mov ecx, dword [0x493c54]
sub ecx, eax
mov dword [0x493c54], ecx
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x49c200]
imul eax, eax, 0x137d32df
mov dword [0x49c200], eax
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [0x498e34]
add eax, 0x5f6237df
mov ecx, dword [0x49be4c]
sub ecx, eax
mov dword [0x49be4c], ecx
cmp dword [esp + 0x60], 3
jne 0x423a60
mov eax, dword [0x49a7dc]
not eax
add eax, 0x532ef82b
mov ecx, dword [0x493954]
imul ecx, eax
mov dword [0x493954], ecx
movzx eax, byte [esp + 0x59]
shr eax, 2
mov dl, al
mov byte [esp + 0x55], dl
mov eax, dword [0x499e14]
mov ecx, eax
dec ecx
mov dword [0x499e14], ecx
add eax, 0xc9abfd91
mov si, word [0x490afc]
mov cx, si
xor ecx, eax
mov si, cx
mov word [0x490afc], si
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov dl, al
mov byte [esp + 0x56], dl
mov si, word [0x48f8a4]
mov ax, si
add eax, 0x4004100e
mov si, ax
mov word [0x48f8a4], si
movzx eax, byte [esp + 0x5a]
shr eax, 4
movzx ecx, byte [esp + 0x56]
add ecx, eax
mov dl, cl
mov byte [esp + 0x56], dl
mov si, word [0x4916a4]
movsx eax, si
mov dword [0x494fa0], eax
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x57], dl
mov dword [0x497138], 0x479ea23a
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 [0x49114e]
mov ax, si
inc eax
mov di, ax
mov word [0x49114e], di
movsx eax, si
xor eax, 0x736a5042
mov ecx, dword [0x498d1c]
and ecx, eax
mov dword [0x498d1c], ecx
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x58], dl
mov eax, dword [0x49ab1c]
mov ecx, dword [0x49ad2c]
sar ecx, 3
imul ecx, ecx, 0x360a31ce
and eax, ecx
cmp eax, 0x9bf3c288
jne 0x423864
mov ax, word [0x48fa8c]
mov cx, ax
and ecx, 0x3407
mov ax, cx
mov word [0x48fa8c], ax
mov dword [esp + 0x60], 0
mov ax, word [0x48fd22]
mov cx, ax
xor ecx, 0x1c13
mov ax, cx
mov word [0x48fd22], ax
cmp dword [esp + 0x60], 4
je 0x423a3a
mov eax, dword [0x499248]
and eax, 0xffe7d77d
mov dword [0x499248], eax
test byte [esp + 0x7b], 1
je 0x4239b6
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x4239b6
mov eax, dword [0x49b408]
and eax, 0x18f83b0a
mov dword [0x49b408], eax
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x42391a
mov eax, dword [0x497240]
and eax, 0x70cfa714
mov dword [0x497240], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.00419500
sub esp, 4
mov ecx, dword [0x49a370]
or ecx, 0x8b260ae7
mov dword [0x49a370], ecx
mov dword [esp + 0x2c], eax
jmp 0x423992
mov eax, 0x400001
mov ecx, dword [0x49bf18]
shl ecx, 0xa
add ecx, 0x41c0758c
sub ecx, 0xc3316eba
cmp eax, ecx
jne 0x423960
mov eax, dword [0x4952a8]
dec eax
mov dword [0x4952a8], eax
imul eax, eax, 0x5378d384
or eax, 0x3266e9c
mov ecx, dword [0x493dcc]
xor ecx, eax
mov dword [0x493dcc], ecx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00419500
sub esp, 4
mov ecx, dword [0x4983f4]
mov edx, dword [0x498e70]
or ecx, edx
or ecx, 0x7effeb3e
mov dword [0x498e70], ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x4983cc]
shr eax, 9
mov cx, word [0x4906bc]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4906bc], cx
jmp 0x423a0b
mov dword [0x49ab3c], 0x10121001
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.004232d0
sub esp, 4
mov ecx, dword [0x495498]
shr ecx, 7
and ecx, 0xa42c
mov si, word [0x492868]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x492868], si
mov dword [esp + 0x24], eax
mov eax, dword [0x49b078]
or eax, 0x27b80768
mov dword [0x49b078], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x498b5c]
mov ecx, 0x316a76ec
sub ecx, eax
mov dword [0x499240], ecx
jmp 0x423884
mov eax, dword [0x496d94]
xor eax, 0xe7907dec
mov dword [0x496d94], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x4957c4]
xor eax, 0x602041
mov dword [0x4957c4], eax
mov eax, dword [0x493c34]
dec eax
mov dword [0x493c34], eax
or eax, 0x6ed8cf27
mov ecx, dword [0x49a7a4]
xor ecx, eax
mov dword [0x49a7a4], ecx
jmp 0x42364b
mov ax, word [0x491522]
movsx ecx, ax
sar ecx, 5
and ecx, 0x7ac980ef
mov edx, dword [0x495cbc]
xor ecx, edx
mov edx, dword [0x498abc]
sub edx, ecx
mov dword [0x498abc], edx
cmp dword [esp + 0x60], 0
je 0x424239
mov ax, word [0x490504]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x490504], ax
or ecx, 0x8c89
mov ax, word [0x491830]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x491830], ax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x49bfbc]
sar ecx, 4
mov edx, dword [0x499c38]
shl edx, 0xa
add ecx, edx
or ecx, 0x86493ee2
mov edx, dword [0x495684]
add edx, ecx
mov dword [0x495684], edx
cmp dword [esp + 0x5c], 3
jge 0x423b70
mov eax, dword [0x497d4c]
and eax, 0x487587df
mov dword [0x497d4c], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x59], 0
mov eax, dword [0x49a974]
add eax, 0x78f1d4a0
mov dword [0x49a974], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x4978e0]
mov cx, word [0x48f774]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x48f774], cx
jmp 0x423b15
mov eax, 0xe22c6583
mov ecx, dword [0x49a5ac]
and ecx, 0xfdff7fab
mov dword [0x49a5ac], ecx
movzx ecx, byte [esp + 0x59]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x55], dl
mov ecx, dword [0x497640]
mov esi, ecx
dec esi
mov dword [0x497640], esi
add ecx, 0xcf23f2c2
mov esi, dword [0x49a41c]
imul esi, ecx
mov dword [0x49a41c], esi
movzx ecx, byte [esp + 0x59]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x56], dl
mov di, word [0x4905e6]
mov cx, di
and ecx, 0x6e69
mov di, cx
mov word [0x4905e6], di
movzx ecx, byte [esp + 0x5a]
shr ecx, 4
movzx esi, byte [esp + 0x56]
add esi, ecx
mov ecx, esi
mov dl, cl
mov byte [esp + 0x56], dl
mov ecx, dword [0x49c0ac]
dec ecx
mov dword [0x49c0ac], ecx
xor ecx, 0x391e6c73
cmp eax, ecx
jl 0x423c2b
mov eax, dword [0x494a60]
imul eax, eax, 0x61dfefb1
and eax, 0xd1b29ccf
mov dword [0x4963a4], eax
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x57], cl
mov eax, dword [0x4998e0]
or eax, 0x66351fd1
mov dword [0x4998e0], eax
movzx eax, byte [esp + 0x5b]
shr eax, 6
movzx edx, byte [esp + 0x57]
add edx, eax
mov cl, dl
mov byte [esp + 0x57], cl
mov eax, dword [0x494168]
sar eax, 5
imul eax, eax, 0xb66ee5c4
add eax, 0xd1f2fe34
mov edx, dword [0x4969d4]
and edx, 0x3286775e
cmp eax, edx
jl 0x423cea
mov eax, 0x621ecfde
mov cx, word [0x48f246]
mov dx, cx
inc edx
mov si, dx
mov word [0x48f246], si
movsx edx, cx
sub eax, edx
cmp eax, 0xfddf2d5f
jne 0x423cd6
mov eax, dword [0x499824]
mov cx, word [0x492458]
movsx edx, cx
imul eax, edx
mov edx, dword [0x4983c0]
and edx, eax
mov dword [0x4983c0], edx
jmp 0x423ce5
mov eax, dword [0x49b560]
add eax, 0xaf64a3e9
mov dword [0x49b560], eax
jmp 0x423cea
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x58], cl
mov dword [0x49b6c0], 0xc31ec066
mov dword [esp + 0x5c], 0
mov eax, dword [0x498e6c]
add eax, 0xee2d3860
xor eax, 0xa8f45f3
mov edx, dword [0x49683c]
sub edx, eax
mov dword [0x49683c], edx
mov eax, dword [0x4956d4]
sar eax, 5
mov ecx, dword [0x499630]
or eax, ecx
or eax, 0x24b01328
mov dword [0x499630], eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
jle 0x423d63
mov eax, dword [0x497758]
xor eax, 0x6b25edc1
mov dword [0x497758], eax
jmp 0x423fbb
mov eax, dword [0x49a7e4]
xor eax, 0x88cf6cb0
mov dword [0x49a7e4], eax
test byte [esp + 0x7b], 1
je 0x423ea5
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x423ea5
mov eax, dword [0x495714]
xor eax, 0x8fdf5f3a
mov dword [0x495714], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3e
jne 0x423e26
mov eax, dword [0x496148]
or eax, 0x88854a17
mov ecx, dword [0x4966cc]
sub ecx, eax
mov dword [0x4966cc], ecx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.00419500
sub esp, 4
mov ecx, dword [0x499fc4]
mov edx, ecx
dec edx
mov dword [0x499fc4], edx
add ecx, 0xcd2e0606
mov edx, dword [0x4995e0]
mov esi, edx
dec esi
mov dword [0x4995e0], esi
and edx, 0x9394d66e
cmp ecx, edx
mov dword [esp + 0x20], eax
jg 0x423e21
mov eax, dword [0x499ac4]
or eax, 0xeeadf692
mov dword [0x499ac4], eax
jmp 0x423e96
mov dword [0x49a740], 0x3b956ea3
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00419500
sub esp, 4
mov si, word [0x493558]
movsx ecx, si
xor ecx, 0x90001141
or ecx, 0x6ffb86be
mov edx, dword [0x497f38]
dec edx
mov dword [0x497f38], edx
add edx, 0x66c76038
cmp ecx, edx
mov dword [esp + 0x1c], eax
jge 0x423e91
mov eax, dword [0x49bb00]
add eax, 0xf4e2b19e
mov ecx, dword [0x493ec0]
xor ecx, eax
mov dword [0x493ec0], ecx
jmp 0x423e96
mov dword [0x49aef0], 0xa95b109a
jmp 0x423efd
mov eax, dword [0x49732c]
imul eax, eax, 0x9f3f0bda
mov ecx, dword [0x49b994]
and ecx, eax
mov dword [0x49b994], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x5c]
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.004232d0
sub esp, 4
mov si, word [0x48f338]
mov cx, si
or ecx, 0xf59e
mov si, cx
mov word [0x48f338], si
mov dword [esp + 0x18], eax
mov eax, 0x58df5be5
mov cx, word [0x49102e]
mov dx, cx
mov esi, edx
inc esi
mov cx, si
mov word [0x49102e], cx
xor edx, 0x47ec
mov cx, word [0x490826]
mov si, cx
or esi, edx
mov cx, si
mov word [0x490826], cx
mov edx, dword [esp + 0x5c]
inc edx
mov dword [esp + 0x5c], edx
mov edx, dword [0x497a80]
shl edx, 6
cmp eax, edx
jge 0x423fb6
mov eax, dword [0x497c28]
inc eax
mov dword [0x497c28], eax
and eax, 0x149f7f8d
mov ecx, dword [0x49ad68]
mov edx, dword [0x4957b8]
inc edx
mov dword [0x4957b8], edx
and edx, 0xc9743edc
xor ecx, edx
cmp eax, ecx
je 0x423fb1
mov eax, dword [0x49a2a0]
mov ecx, eax
inc ecx
mov dword [0x49a2a0], ecx
mov ecx, dword [0x49c790]
xor ecx, 0xffffffff
add ecx, 0xaa75e028
cmp eax, ecx
jl 0x423fac
jmp 0x423fac
jmp 0x423fb1
jmp 0x423fb6
jmp 0x423d27
jmp 0x423fc0
cmp dword [esp + 0x60], 3
jge 0x42421f
mov eax, 0x7f77bffb
mov ecx, dword [0x49baec]
shl ecx, 8
or ecx, 0x2879b832
cmp eax, ecx
jne 0x424008
mov eax, dword [0x49b6cc]
mov ecx, eax
inc ecx
mov dword [0x49b6cc], ecx
mov ecx, dword [0x49b194]
or ecx, eax
mov dword [0x49b194], ecx
jmp 0x424046
mov eax, 0x47eb1f09
mov ecx, dword [0x496d08]
inc ecx
mov dword [0x496d08], ecx
mov edx, dword [0x49c718]
inc edx
mov dword [0x49c718], edx
imul ecx, edx
sub eax, ecx
cmp eax, 0xa2782155
jl 0x424041
mov dword [0x49ba00], 0x9941d331
jmp 0x424046
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x49ba24]
xor eax, 0x2d53682
mov dword [0x49ba24], eax
test byte [esp + 0x7b], 1
je 0x42414f
mov eax, 0x4f634a23
mov ecx, dword [0x493a1c]
sub ecx, 0x8538115b
cmp eax, ecx
jl 0x4240c2
mov eax, 0xe18678f9
mov cx, word [0x49337e]
movsx edx, cx
mov esi, dword [0x494db8]
inc esi
mov dword [0x494db8], esi
add edx, esi
sub edx, 0x4619669
cmp eax, edx
jg 0x4240bd
mov eax, dword [0x49a100]
add eax, 0xd7f9443c
mov dword [0x49a100], eax
jmp 0x4240d1
mov eax, dword [0x495888]
or eax, 0xbb2dfb19
mov dword [0x495888], eax
mov eax, 0x600ab8c5
mov ecx, dword [esp + 0x7c]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
mov dword [esp + 0x14], eax
call fcn.00419500
sub esp, 4
mov ecx, dword [0x493bd4]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x14]
cmp edx, ecx
mov dword [esp + 0x10], eax
jne 0x42413b
mov eax, 0xe2c516c1
mov cx, word [0x48fdfc]
movsx edx, cx
mov esi, dword [0x49661c]
add edx, esi
cmp eax, edx
jg 0x424136
mov eax, dword [0x493938]
imul eax, eax, 0xe9822751
mov dword [0x493938], eax
jmp 0x42414a
mov eax, dword [0x49939c]
and eax, 0x1f1f58ce
mov dword [0x49939c], eax
jmp 0x4241d8
mov eax, 0x510ec34e
mov ecx, dword [0x499f9c]
and ecx, 0x200c0c2
mov dword [0x499f9c], ecx
mov ecx, dword [esp + 0x7c]
mov edx, esp
mov dword [edx], 0x3d
mov dword [esp + 0xc], eax
call fcn.004232d0
sub esp, 4
mov si, word [0x491b48]
mov cx, si
inc ecx
mov si, cx
mov word [0x491b48], si
movsx ecx, si
xor ecx, 0xa309384
mov edx, dword [esp + 0xc]
cmp edx, ecx
mov dword [esp + 8], eax
jle 0x4241d3
mov eax, dword [0x49b02c]
mov ecx, dword [0x497594]
imul ecx, eax
shl ecx, 7
mov dx, word [0x4937b4]
mov ax, dx
and eax, ecx
mov dx, ax
mov word [0x4937b4], dx
jmp 0x4241d8
mov eax, 0x2fde4fd9
mov ecx, dword [0x494338]
add ecx, 0x35140af3
mov dx, word [0x490e20]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jl 0x42421a
mov eax, dword [0x493a80]
xor eax, 0x19900004
or eax, 0x46660f7a
mov ecx, dword [0x49954c]
add ecx, eax
mov dword [0x49954c], ecx
jmp 0x423fc0
mov eax, dword [0x495af0]
sar eax, 2
mov ecx, dword [0x49bf18]
xor eax, ecx
xor eax, 0x854aae3e
mov dword [0x49bf18], eax
mov word [0x490832], 0x1f8b
mov eax, dword [esp + 0x44]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.00450bc0
mov eax, dword [0x49529c]
imul eax, eax, 0x2812cacd
mov dword [0x49529c], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040ee60
mov eax, dword [0x49c718]
shl eax, 5
cmp eax, 0x6dea7c59
jge 0x4242be
mov eax, dword [0x495130]
dec eax
mov dword [0x495130], eax
mov cx, word [0x492ba2]
movsx edx, cx
mov esi, 0x7a62b27a
sub esi, edx
and eax, esi
mov edx, dword [0x498984]
xor edx, eax
mov dword [0x498984], edx
jmp 0x4242cd
mov eax, dword [0x4957dc]
or eax, 0x635a0088
mov dword [0x4957dc], eax
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040ee60
mov eax, dword [0x49a294]
dec eax
mov dword [0x49a294], eax
mov ecx, dword [0x49bf80]
xor ecx, eax
mov dword [0x49bf80], ecx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.0040ee60
mov dx, word [0x493640]
mov ax, dx
xor eax, 0xed13
mov dx, ax
mov word [0x493640], dx
add esp, 0x80
pop esi
pop edi
ret