Function at 0x423700
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, 0x1044088
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 [0x4998ec]
mov edx, eax
inc edx
mov dword [0x4998ec], edx
and eax, 0x9442a604
mov edx, dword [0x498f50]
xor edx, eax
mov dword [0x498f50], edx
mov bx, word [0x486aee]
mov ax, bx
add eax, 0xeef293be
mov bx, ax
mov word [0x486aee], bx
mov dword [0x497aa0], 0x1be3c1b
mov eax, dword [0x492664]
dec eax
mov dword [0x492664], eax
sub eax, 0x9112b888
cmp edi, eax
jg 0x4237f8
mov eax, 0x5131a64
mov ecx, dword [0x49b168]
add ecx, 0x52e836c6
mov dx, word [0x484a92]
movsx esi, dx
add ecx, esi
cmp eax, ecx
jl 0x4237f3
mov eax, 0x4cac8ee1
mov cx, word [0x480ef8]
mov dx, cx
dec edx
mov si, dx
mov word [0x480ef8], si
movsx edx, cx
and edx, 0x36e737e9
cmp eax, edx
jg 0x4237ee
jmp 0x4237ee
jmp 0x4237f3
jmp 0x423810
mov ax, word [0x483854]
mov cx, ax
imul ecx, ecx, 0xbe6677df
mov ax, cx
mov word [0x483854], ax
mov eax, 0x955eaaba
mov dword [esp + 0x60], 0
mov ecx, dword [0x48a974]
add ecx, 0x6fac60e5
or ecx, 0x97b8cb1f
mov dword [0x49308c], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [0x48e2fc]
cmp eax, ecx
jge 0x423889
mov eax, 0x7463c8a4
mov ecx, dword [0x48a420]
add ecx, 0x903fa8b9
mov edx, dword [0x491a2c]
mov esi, edx
inc esi
mov dword [0x491a2c], esi
sub ecx, edx
cmp eax, ecx
jg 0x423884
mov eax, dword [0x48b2a8]
or eax, 0x6cfd4ec7
mov dword [0x48b2a8], eax
jmp 0x423889
mov eax, 0x60000080
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x1d47
mov dword [esp + 0x40], eax
call fcn.00445b40
mov dword [esp + 0x44], eax
mov dx, word [0x488286]
mov ax, dx
dec eax
mov dx, ax
mov word [0x488286], dx
imul eax, eax, 0xd75ca837
and eax, 0x9183
mov dx, word [0x47fe80]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x47fe80], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1546
call fcn.00445b40
mov dword [esp + 0x6c], eax
mov dx, word [0x483724]
mov ax, dx
mov dx, word [0x4826e8]
mov cx, dx
or eax, ecx
mov dx, word [0x488662]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x488662], dx
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.00455480
mov dword [0x490824], 0xa621e063
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x162d
mov dword [esp + 0x3c], eax
call fcn.00445b40
mov dword [esp + 0x68], eax
mov eax, dword [0x48bfc0]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
je 0x423998
mov ax, word [0x482632]
mov cx, ax
shl ecx, 7
mov edx, dword [0x48fef4]
and ecx, edx
mov ax, word [0x481afa]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x481afa], ax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004235c0
mov dword [0x49a894], 0x51c46e28
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00455480
mov ecx, dword [0x48e554]
lea ecx, [ecx + ecx - 0x5bac62cf]
and ecx, 0xf02eaa96
mov edx, dword [0x490330]
xor edx, 0x21800905
cmp ecx, edx
mov dword [esp + 0x38], eax
jl 0x423a0e
mov eax, dword [0x49c620]
dec eax
mov dword [0x49c620], eax
mov ecx, dword [0x4901c4]
or ecx, eax
mov dword [0x4901c4], ecx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x29e5
call fcn.00445b40
mov dword [esp + 0x64], eax
mov eax, dword [0x495864]
mov ecx, eax
inc ecx
mov dword [0x495864], ecx
sub eax, 0x6a3818c6
cmp eax, 0x7dda4bd0
jl 0x423a53
mov eax, dword [0x494e74]
or eax, 0x572caecf
mov dword [0x494e74], eax
mov eax, 0xa822cb76
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x34], eax
call fcn.004235c0
mov si, word [0x482faa]
mov ax, si
xor eax, 0xd0b3
mov si, ax
mov word [0x482faa], si
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x49]
mov dword [ecx], eax
call fcn.00455480
mov ecx, dword [0x48b920]
shr ecx, 3
imul ecx, ecx, 0x51cd6762
and ecx, 0x318e
mov si, word [0x486acc]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x486acc], si
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x30], eax
call fcn.004235c0
mov eax, dword [0x49c234]
imul eax, eax, 0x8c9c38da
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jl 0x423b06
mov eax, dword [0x4971b0]
or eax, 0x4c88a62b
mov dword [0x4971b0], eax
jmp 0x423b0b
cmp dword [esp + 0x74], 0
je 0x42407a
mov eax, 0xfffd57e5
mov ecx, dword [0x49755c]
add ecx, 0x49b4d216
mov dword [0x49755c], ecx
mov ecx, dword [esp + 0x74]
dec ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [0x496620]
mov edx, ecx
inc edx
mov dword [0x496620], edx
and ecx, 0x45cfa522
cmp eax, ecx
jne 0x423b77
mov eax, dword [0x493c8c]
mov ecx, eax
dec ecx
mov dword [0x493c8c], ecx
mov dx, word [0x48207e]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x48207e], dx
mov eax, dword [esp + 0x70]
mov cl, byte [eax]
mov eax, dword [esp + 0x60]
mov byte [esp + eax + 0x59], cl
mov eax, dword [0x49ab98]
not eax
imul eax, eax, 0xcda2d410
mov dword [0x4956d4], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x48d218]
imul eax, eax, 0x6cfbfb2
or eax, 0xe754ccd7
mov edx, dword [0x498058]
sub edx, eax
mov dword [0x498058], edx
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov dword [0x48f31c], 0x28a9e583
cmp dword [esp + 0x60], 3
jne 0x424058
mov eax, dword [0x4972f4]
add eax, 0x7fdd9dc6
mov dword [0x4972f4], eax
movzx eax, byte [esp + 0x59]
shr eax, 2
mov cl, al
mov byte [esp + 0x55], cl
mov eax, dword [0x499dec]
add eax, 0x1db43b19
mov dword [0x499dec], eax
movzx eax, byte [esp + 0x59]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x56], cl
mov eax, dword [0x48b7ec]
mov edx, eax
inc edx
mov dword [0x48b7ec], edx
add eax, 0x25ea2bc4
and eax, 0xe841befb
mov dword [0x4905a0], eax
movzx eax, byte [esp + 0x5a]
shr eax, 4
movzx edx, byte [esp + 0x56]
add edx, eax
mov cl, dl
mov byte [esp + 0x56], cl
mov eax, dword [0x49c354]
or eax, 0x6947db6e
mov dword [0x49c354], eax
movzx eax, byte [esp + 0x5a]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x57], cl
mov si, word [0x485220]
movsx eax, si
and eax, 0xb0148b31
and eax, 0xb1dd5690
cmp eax, 0x30a300e0
jg 0x423c94
mov dword [0x49ab84], 0x40008188
mov eax, 0xc30ce6c2
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 si, word [0x481778]
mov cx, si
dec ecx
mov si, cx
mov word [0x481778], si
movsx ecx, si
or ecx, 0xa991df7f
mov edx, dword [0x491b3c]
add edx, ecx
mov dword [0x491b3c], edx
movzx ecx, byte [esp + 0x5b]
and ecx, 0x3f
mov bl, cl
mov byte [esp + 0x58], bl
mov ecx, dword [0x4992b0]
inc ecx
mov dword [0x4992b0], ecx
mov edx, dword [0x48a1c4]
inc edx
mov dword [0x48a1c4], edx
xor ecx, edx
cmp eax, ecx
jg 0x423d1c
mov eax, dword [0x49b634]
imul eax, eax, 0xee4ca3f2
mov dword [0x49b634], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x49bcb0]
imul eax, eax, 0xd800000a
mov dword [0x49bcb0], eax
cmp dword [esp + 0x60], 4
je 0x423fdc
mov eax, 0x88ec3f74
mov ecx, dword [0x4912c4]
mov edx, ecx
inc edx
mov dword [0x4912c4], edx
imul ecx, ecx, 0x42298611
or ecx, 0xae82fb9f
cmp eax, ecx
jle 0x423d7b
mov eax, dword [0x490240]
add eax, 0xaeb2f140
mov dword [0x490240], eax
jmp 0x423d93
mov ax, word [0x4847c4]
mov cx, ax
or ecx, 0xaf7d
mov ax, cx
mov word [0x4847c4], ax
test byte [esp + 0x7b], 1
je 0x423f30
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x423f30
mov ax, word [0x489244]
mov cx, ax
mov ax, word [0x485a46]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x485a46], ax
mov ecx, dword [esp + 0x60]
movzx ecx, byte [esp + ecx + 0x55]
cmp ecx, 0x3e
jne 0x423e2b
mov ax, word [0x48091a]
movsx ecx, ax
mov edx, dword [0x497cc0]
lea ecx, [ecx + edx - 0xcfe1dfc]
mov dword [0x497cc0], ecx
mov ecx, dword [esp + 0x7c]
mov edx, esp
lea esi, [esp + 0x51]
mov dword [edx], esi
call fcn.0044fd00
sub esp, 4
mov ecx, dword [0x490140]
or ecx, 0xa44c0604
mov dword [0x490140], ecx
mov dword [esp + 0x2c], eax
jmp 0x423ec8
mov eax, dword [0x489e10]
mov ecx, eax
dec ecx
mov dword [0x489e10], ecx
mov dx, word [0x481f30]
movsx ecx, dx
imul eax, ecx
or eax, 0xebeba8fb
mov dx, word [0x486030]
mov cx, dx
dec ecx
mov si, cx
mov word [0x486030], si
movsx ecx, dx
mov dx, word [0x486946]
mov di, dx
dec edi
mov dx, di
mov word [0x486946], dx
movsx edi, dx
xor edi, 0xd3a4d34c
or ecx, edi
cmp eax, ecx
jge 0x423e9e
mov eax, dword [0x493bf8]
mov ecx, dword [0x48be28]
xor ecx, eax
mov dword [0x48be28], ecx
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0044fd00
sub esp, 4
mov ecx, dword [0x49c198]
xor ecx, 0x718628ac
mov dword [0x49c198], ecx
mov dword [esp + 0x28], eax
mov eax, 0xcc65a1f3
mov ecx, dword [0x499c6c]
mov edx, ecx
dec edx
mov dword [0x499c6c], edx
sub ecx, 0x7790d043
add ecx, 0x7414c032
cmp eax, ecx
jle 0x423f2b
mov eax, 0x9234d092
mov ecx, dword [0x496614]
cmp eax, ecx
jle 0x423f17
mov eax, dword [0x494e5c]
or eax, 0x5cbdd309
mov dword [0x494e5c], eax
jmp 0x423f26
mov eax, dword [0x49ca78]
add eax, 0x7b31db01
mov dword [0x49ca78], eax
jmp 0x423f2b
jmp 0x423fa2
mov eax, 0xc57c7c8b
mov ecx, dword [0x48a740]
imul ecx, ecx, 0x9a913c85
mov dword [0x48a740], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x55]
mov esi, dword [esp + 0x44]
movsx edx, byte [esi + edx]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x24], eax
call fcn.0044fd30
sub esp, 4
mov ecx, dword [0x48f934]
sar ecx, 1
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
jl 0x423f9d
mov eax, dword [0x493c38]
mov ecx, 0x6d96cf70
sub ecx, eax
mov eax, dword [0x498c68]
add eax, ecx
mov dword [0x498c68], eax
jmp 0x423fa2
mov eax, dword [0x4972dc]
or eax, 0x20ab1800
mov dword [0x4972dc], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x48fa24]
inc eax
mov dword [0x48fa24], eax
mov ecx, dword [0x49b00c]
or eax, ecx
or eax, 0xa7346095
mov dword [0x49b00c], eax
jmp 0x423d34
mov eax, dword [0x492f10]
add eax, 0x58d5d628
mov dword [0x492f10], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x48f5a0]
inc eax
mov dword [0x48f5a0], eax
mov ecx, dword [0x49503c]
mov edx, ecx
dec edx
mov dword [0x49503c], edx
imul ecx, ecx, 0xe43eeb73
xor ecx, 0x98d8e031
cmp eax, ecx
jle 0x424043
mov ax, word [0x48088c]
movsx ecx, ax
xor ecx, 0x1d05bd45
mov edx, dword [0x48aa68]
or edx, ecx
mov dword [0x48aa68], edx
jmp 0x424053
mov eax, dword [0x49a070]
imul eax, eax, 0xec94c667
mov dword [0x49a070], eax
jmp 0x424058
mov eax, dword [0x492ca4]
xor eax, 0x88841a80
or eax, 0x73136572
mov ecx, dword [0x492984]
add ecx, eax
mov dword [0x492984], ecx
jmp 0x423b0b
mov ax, word [0x4884c4]
mov cx, ax
add ecx, 0x73f5197a
mov ax, cx
mov word [0x4884c4], ax
cmp dword [esp + 0x60], 0
je 0x42490a
mov ax, word [0x481ce0]
mov cx, ax
xor ecx, 0x4200
mov ax, cx
mov word [0x481ce0], ax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], ecx
mov ax, word [0x4808dc]
mov cx, ax
add ecx, 0x5ff1376b
mov ax, cx
mov word [0x4808dc], ax
cmp dword [esp + 0x5c], 3
jge 0x424142
mov eax, dword [0x4900b8]
mov ecx, dword [0x48eff8]
not ecx
imul ecx, ecx, 0x7e41f147
sub eax, ecx
mov ecx, dword [0x490728]
sub ecx, eax
mov dword [0x490728], ecx
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x59], 0
mov eax, dword [0x48b95c]
xor eax, 0xaaa14b3f
mov dword [0x48b95c], eax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov dx, word [0x485494]
mov ax, dx
add eax, 0x59fd7f57
mov dx, ax
mov word [0x485494], dx
jmp 0x4240d5
mov eax, 0x16dd9a5b
mov ecx, dword [0x49186c]
mov dx, word [0x487efc]
movsx esi, dx
xor esi, 0xffffffff
sub ecx, esi
xor ecx, 0x511d066f
cmp eax, ecx
jne 0x42419e
mov eax, dword [0x490c94]
dec eax
mov dword [0x490c94], eax
mov ecx, dword [0x489e98]
imul eax, ecx
and eax, 0x197a
mov dx, word [0x48129a]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x48129a], dx
jmp 0x424207
mov eax, 0x4fd87639
mov cx, word [0x4842ca]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4842ca], cx
movsx edx, cx
sub edx, 0xd9644a91
add edx, 0x1b31e752
cmp eax, edx
jne 0x424202
mov eax, 0x6c924c4a
mov ecx, dword [0x490ab0]
dec ecx
mov dword [0x490ab0], ecx
sub eax, ecx
or eax, 0xcf9426d4
cmp eax, 0x2826863c
jle 0x4241f8
jmp 0x4241fd
jmp 0x4241fd
jmp 0x424202
jmp 0x424207
mov eax, 0xb4cfc2bc
movzx ecx, byte [esp + 0x59]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x55], dl
mov ecx, dword [0x48ca10]
shl ecx, 9
xor ecx, 0x5e808d48
mov esi, dword [0x499c84]
and esi, ecx
mov dword [0x499c84], esi
movzx ecx, byte [esp + 0x59]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x56], dl
mov ecx, dword [0x48b8d0]
imul ecx, ecx, 0x68a792a
mov dword [0x48b8d0], ecx
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 di, word [0x487210]
mov cx, di
imul ecx, ecx, 0xdba613e9
mov di, cx
mov word [0x487210], di
movzx ecx, byte [esp + 0x5a]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x57], dl
mov ecx, dword [0x48f60c]
add ecx, 0x2070baf3
cmp eax, ecx
jle 0x4242d9
mov ax, word [0x481020]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x481020], ax
movsx ecx, ax
mov edx, 0x37c842ea
sub edx, ecx
xor edx, 0xd0a8fc16
mov dword [0x494b64], edx
mov eax, 0x77c93a7
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 [0x48d6f4]
add ecx, 0x9804f02b
mov edx, dword [0x492608]
xor edx, 0xffffffff
sub ecx, edx
cmp eax, ecx
je 0x42435f
mov eax, 0x5421701e
mov ecx, dword [0x48fb60]
sar ecx, 3
mov dx, word [0x4820b8]
movsx esi, dx
add ecx, esi
xor ecx, 0xece2c6b3
cmp eax, ecx
jne 0x42435a
mov eax, dword [0x4970d8]
mov cx, word [0x485e3c]
mov dx, cx
xor eax, edx
xor eax, 0xe511
mov cx, ax
mov word [0x485e3c], cx
jmp 0x4243e6
mov eax, 0x66f2571a
mov cx, word [0x481a42]
mov dx, cx
dec edx
mov cx, dx
mov word [0x481a42], cx
movsx edx, cx
cmp eax, edx
jg 0x4243b7
mov eax, dword [0x494c08]
not eax
mov cx, word [0x48214e]
movsx edx, cx
sub eax, edx
add eax, 0xc0ce4565
mov edx, dword [0x49aea4]
shl edx, 2
cmp eax, edx
jl 0x4243b2
jmp 0x4243b2
jmp 0x4243e1
mov eax, 0xb1368e7c
mov cx, word [0x4842c2]
movsx edx, cx
shl edx, 1
and edx, 0x4f1c3574
cmp eax, edx
jne 0x4243dc
jmp 0x4243dc
jmp 0x4243e1
jmp 0x4243e6
movzx eax, byte [esp + 0x5b]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x58], cl
mov eax, dword [0x49950c]
mov edx, eax
dec edx
mov dword [0x49950c], edx
cmp eax, 0xbb46d8d
je 0x42442e
mov ax, word [0x480fc6]
movsx ecx, ax
sar ecx, 8
mov edx, 0x73cc462a
sub edx, ecx
mov ecx, dword [0x4964f8]
and ecx, edx
mov dword [0x4964f8], ecx
mov dword [esp + 0x5c], 0
mov eax, dword [0x49cd1c]
and eax, 0x421d7d76
mov dword [0x49cd1c], eax
mov eax, 0x7aee751e
mov ecx, dword [0x48be78]
or ecx, 0x8de809eb
cmp eax, ecx
je 0x42446d
mov dword [0x48e1ac], 0x77afbebd
jmp 0x4244ab
mov eax, dword [0x49d4f0]
mov cx, word [0x48217c]
mov dx, cx
inc edx
mov si, dx
mov word [0x48217c], si
movsx edx, cx
or eax, edx
cmp eax, 0x60d00241
jle 0x4244a6
mov eax, dword [0x48a194]
add eax, 0xe8fbfdb0
mov dword [0x48a194], eax
jmp 0x4244ab
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
jle 0x4244d6
mov ax, word [0x483074]
mov cx, ax
add ecx, 0x74cfdbfb
mov ax, cx
mov word [0x483074], ax
jmp 0x424760
mov eax, dword [0x494e78]
inc eax
mov dword [0x494e78], eax
mov ecx, dword [0x49d168]
inc ecx
mov dword [0x49d168], ecx
imul eax, ecx
mov ecx, dword [0x49ce88]
mov edx, ecx
dec edx
mov dword [0x49ce88], edx
add eax, ecx
mov ecx, dword [0x4939c8]
imul ecx, eax
mov dword [0x4939c8], ecx
test byte [esp + 0x7b], 1
je 0x4246bb
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x55]
cmp eax, 0x3d
jle 0x4246bb
mov ax, word [0x481d68]
mov cx, ax
imul ecx, ecx, 0x200200a8
mov ax, cx
mov word [0x481d68], ax
mov ecx, dword [esp + 0x5c]
movzx ecx, byte [esp + ecx + 0x55]
cmp ecx, 0x3e
jne 0x4245a8
mov eax, dword [0x493a88]
add eax, 0x5015041d
mov dword [0x493a88], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.0044fd00
sub esp, 4
mov ecx, dword [0x4945b0]
mov edx, ecx
dec edx
mov dword [0x4945b0], edx
add ecx, 0x6353a6d7
mov edx, dword [0x49a10c]
imul edx, ecx
mov dword [0x49a10c], edx
mov dword [esp + 0x1c], eax
jmp 0x424648
mov eax, 0x9ff7ffa7
mov ecx, dword [0x48e790]
dec ecx
mov dword [0x48e790], ecx
and ecx, 0xa05d8dca
and ecx, 0xe9476637
cmp eax, ecx
jne 0x42460f
mov eax, 0xf3007a3a
mov ecx, dword [0x48d7f4]
sub ecx, 0xfefd45f
cmp eax, ecx
jg 0x4245fb
mov eax, dword [0x49c5fc]
or eax, 0x717d23e7
mov dword [0x49c5fc], eax
jmp 0x42460a
mov eax, dword [0x48fae8]
or eax, 0x3b6fff17
mov dword [0x48fae8], eax
jmp 0x42461e
mov eax, dword [0x499a88]
and eax, 0x9156340c
mov dword [0x499a88], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.0044fd00
sub esp, 4
mov ecx, dword [0x48ca94]
imul ecx, ecx, 0x331a528e
mov dword [0x48ca94], ecx
mov dword [esp + 0x18], eax
mov eax, 0x73d51f27
mov cx, word [0x48022e]
movsx edx, cx
mov esi, dword [0x496d78]
sar esi, 3
add edx, esi
mov esi, dword [0x490e0c]
add edx, esi
cmp eax, edx
je 0x4246b6
mov eax, 0x451fe481
mov cx, word [0x4857d2]
movsx edx, cx
mov esi, dword [0x48ad24]
mov edi, dword [0x48a008]
sub esi, edi
or edx, esi
cmp eax, edx
jne 0x4246b1
mov ax, word [0x48283c]
mov cx, ax
xor ecx, 0x6700
mov ax, cx
mov word [0x48283c], ax
jmp 0x4246b6
jmp 0x424709
mov eax, dword [0x4905a0]
xor eax, 0x392ed432
mov dword [0x4905a0], eax
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.0044fd30
sub esp, 4
mov ecx, dword [0x48efd8]
mov edx, dword [0x4924b8]
and ecx, edx
and ecx, 0xbdf647ef
mov dword [0x4924b8], ecx
mov dword [esp + 0x14], eax
mov eax, 0x5aed00ef
mov ecx, dword [0x493260]
shl ecx, 7
mov dx, word [0x48015a]
movsx esi, dx
add ecx, esi
cmp eax, ecx
je 0x424743
mov ax, word [0x483d04]
mov cx, ax
imul ecx, ecx, 0xd23cb9e8
mov ax, cx
mov word [0x483d04], ax
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x495ff8]
add eax, 0xffff33ef
mov dword [0x495ff8], eax
jmp 0x424445
jmp 0x424765
cmp dword [esp + 0x60], 3
jge 0x424891
mov eax, dword [0x48da44]
and eax, 0x7dbf6ffc
mov dword [0x48da44], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov cx, word [0x48823c]
movsx eax, cx
mov edx, dword [0x48da84]
mov esi, 0x2e5db589
sub esi, edx
xor eax, esi
mov edx, dword [0x49c1c8]
sub edx, eax
mov dword [0x49c1c8], edx
test byte [esp + 0x7b], 1
je 0x424804
mov ax, word [0x488366]
mov cx, ax
xor ecx, 0x785a
mov ax, cx
mov word [0x488366], ax
mov ecx, dword [esp + 0x7c]
mov edx, esp
lea esi, [esp + 0x49]
mov dword [edx], esi
call fcn.0044fd00
sub esp, 4
mov ecx, dword [0x48f708]
mov edx, dword [0x497b44]
imul edx, ecx
mov dword [0x497b44], edx
mov dword [esp + 0x10], eax
jmp 0x424874
mov eax, dword [0x4911e0]
xor eax, 0x7a567285
mov dword [0x4911e0], eax
mov ecx, dword [esp + 0x7c]
mov eax, esp
mov dword [eax], 0x3d
call fcn.0044fd30
sub esp, 4
mov dx, word [0x482bd0]
movsx ecx, dx
mov esi, dword [0x48a11c]
inc esi
mov dword [0x48a11c], esi
add esi, 0xe8101d8e
sub esi, 0x244d2dc0
cmp ecx, esi
mov dword [esp + 0xc], eax
je 0x42486f
mov eax, dword [0x4917d8]
imul eax, eax, 0x5530157
mov ecx, dword [0x492d58]
sub ecx, eax
mov dword [0x492d58], ecx
jmp 0x424874
mov ax, word [0x4862ee]
mov cx, ax
and ecx, 0xf230
mov ax, cx
mov word [0x4862ee], ax
jmp 0x424765
mov eax, 0xbfcc25fe
mov ecx, dword [0x489dac]
dec ecx
mov dword [0x489dac], ecx
cmp eax, ecx
jg 0x4248f6
mov ax, word [0x47fdda]
movsx ecx, ax
mov edx, dword [0x48d090]
sub ecx, edx
mov ax, word [0x4891e0]
movsx edx, ax
and ecx, edx
mov ax, word [0x480860]
movsx edx, ax
and edx, 0x2604e8b9
cmp ecx, edx
jge 0x4248f1
mov eax, dword [0x492cc8]
mov ecx, dword [0x49b6d0]
and ecx, eax
mov dword [0x49b6d0], ecx
jmp 0x424905
mov eax, dword [0x49260c]
xor eax, 0xa2eb0676
mov dword [0x49260c], eax
jmp 0x42490a
mov eax, 0x8fce7b72
mov ecx, dword [0x4994b8]
add ecx, 0xc1dabc80
mov dword [0x4994b8], 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.004235c0
mov eax, dword [0x48ac10]
mov ecx, 0x2dd0c77f
sub ecx, eax
mov eax, dword [0x49b4f8]
and eax, ecx
mov dword [0x49b4f8], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004233d0
mov eax, dword [0x49abcc]
add eax, 0xc23cdd4e
mov dword [0x49abcc], eax
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004233d0
mov eax, dword [0x49d504]
mov ecx, dword [0x49c828]
add ecx, eax
mov dword [0x49c828], ecx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004233d0
mov eax, dword [0x48a328]
shl eax, 3
imul eax, eax, 0x52469141
mov ecx, dword [esp + 8]
cmp ecx, eax
jl 0x4249e9
mov eax, dword [0x497d4c]
mov cx, word [0x48673e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x48673e], cx
jmp 0x4249f9
mov eax, dword [0x493a6c]
inc eax
mov dword [0x493a6c], eax
mov dword [0x48aed0], eax
add esp, 0x80
pop esi
pop edi
pop ebx
ret