Function at 0x421d50
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x98]
mov cl, byte [esp + 0x94]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
and cl, 1
mov byte [esp + 0x77], cl
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], esi
mov di, word [0x494006]
mov ax, di
add eax, 0x598859d4
mov di, ax
mov word [0x494006], di
mov di, word [0x491976]
movsx eax, di
xor eax, 0x7e37f9f0
mov di, word [0x491730]
mov dx, di
dec edx
mov bx, dx
mov word [0x491730], bx
movsx edx, di
or edx, 0x9adf5f72
cmp eax, edx
jl 0x421de2
mov eax, dword [0x496780]
and eax, 0x112757e4
mov dword [0x496780], eax
mov eax, dword [0x49bf10]
dec eax
mov dword [0x49bf10], eax
mov ecx, dword [0x496528]
dec ecx
mov dword [0x496528], ecx
imul eax, ecx
mov ecx, dword [0x495760]
mov edx, ecx
inc edx
mov dword [0x495760], edx
lea eax, [eax + ecx + 1]
mov ecx, dword [0x4954f4]
sub ecx, eax
mov dword [0x4954f4], ecx
mov eax, dword [0x49a458]
or eax, 0xaf000837
mov dword [0x49a458], eax
mov dword [esp + 0x5c], 0
mov word [0x4921da], 0x4f55
mov dword [esp + 0x58], 0
mov eax, dword [0x499660]
dec eax
mov dword [0x499660], eax
cmp eax, 0xe61530e5
jle 0x421e79
mov ax, word [0x491ec8]
mov cx, ax
add ecx, 0xe5862a9c
mov ax, cx
mov word [0x491ec8], ax
jmp 0x421e91
mov ax, word [0x494170]
mov cx, ax
and ecx, 0x36b9
mov ax, cx
mov word [0x494170], ax
mov eax, 0xdd3fc2a6
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0x14e
mov dword [esp + 0x3c], eax
call fcn.0044dc30
mov dword [esp + 0x40], eax
mov eax, dword [0x49b9e4]
mov dx, word [0x490d3e]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x490d3e], dx
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x482d
call fcn.0044dc30
mov dword [esp + 0x68], eax
mov eax, dword [0x499c5c]
xor eax, 0x2a1a09cf
mov ecx, dword [0x4967ec]
and ecx, eax
mov dword [0x4967ec], ecx
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00456360
mov ecx, dword [0x498fe0]
or ecx, 0x350c8881
mov esi, dword [esp + 0x3c]
cmp esi, ecx
mov dword [esp + 0x38], eax
jg 0x421f44
mov eax, dword [0x49b3a8]
xor eax, 0xf2525469
mov ecx, dword [0x49925c]
or eax, ecx
mov dword [0x49b754], eax
mov eax, 0xbed33855
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x2644
mov dword [esp + 0x34], eax
call fcn.0044dc30
mov dword [esp + 0x64], eax
mov eax, dword [0x49a0ec]
imul eax, eax, 0xed351751
mov dword [0x49a0ec], eax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004387b0
mov dx, word [0x491dae]
mov ax, dx
dec eax
mov si, ax
mov word [0x491dae], si
movsx eax, dx
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jl 0x421fc2
mov eax, dword [0x4971f0]
imul eax, eax, 0x3b4f3a0f
mov cx, ax
mov word [0x492e3a], cx
mov eax, 0x3dc915e2
mov ecx, dword [esp + 0x64]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x49]
mov dword [edx], ecx
mov dword [esp + 0x30], eax
call fcn.00456360
mov ecx, dword [0x498f94]
mov edx, ecx
dec edx
mov dword [0x498f94], edx
add ecx, 0x24c16284
and ecx, 0xcffe9197
mov edx, dword [0x4986d8]
xor edx, ecx
mov dword [0x4986d8], edx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x318e
mov dword [esp + 0x2c], eax
call fcn.0044dc30
mov dword [esp + 0x60], eax
mov eax, dword [0x49484c]
imul eax, eax, 0xf9c37c4f
mov ecx, dword [0x49b2c4]
and ecx, eax
mov dword [0x49b2c4], ecx
mov eax, dword [esp + 0x64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004387b0
mov eax, dword [0x496544]
not eax
add eax, 0x803763a7
mov si, word [0x493e42]
mov cx, si
or ecx, eax
mov si, cx
mov word [0x493e42], si
mov eax, dword [esp + 0x60]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x45]
mov dword [ecx], eax
call fcn.00456360
mov ecx, dword [0x498c88]
inc ecx
mov dword [0x498c88], ecx
mov edx, dword [0x49aecc]
dec edx
mov dword [0x49aecc], edx
imul ecx, edx
mov edx, dword [0x49c394]
add edx, ecx
mov dword [0x49c394], edx
mov ecx, dword [esp + 0x60]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x28], eax
call fcn.004387b0
mov eax, dword [0x4993f8]
or eax, 0x469a5dd
mov ecx, dword [0x497388]
or eax, ecx
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x4220fc
mov eax, dword [0x49601c]
xor eax, 0xdadc8ff6
mov dword [0x49601c], eax
jmp 0x422114
mov ax, word [0x491e58]
mov cx, ax
imul ecx, ecx, 0x4aba8cea
mov ax, cx
mov word [0x491e58], ax
jmp 0x422119
cmp dword [esp + 0x70], 0
je 0x4225fa
mov eax, 0xdfd5ed4f
mov ecx, dword [0x49a1e8]
mov edx, dword [0x49c138]
imul ecx, edx
imul ecx, ecx, 0x572fd99e
mov edx, dword [0x496558]
sub edx, ecx
mov dword [0x496558], edx
mov ecx, dword [esp + 0x70]
dec ecx
mov dword [esp + 0x70], ecx
mov dword [0x49ad28], 0x5c925574
mov ecx, dword [esp + 0x6c]
mov bl, byte [ecx]
mov ecx, dword [esp + 0x5c]
mov byte [esp + ecx + 0x55], bl
mov si, word [0x490356]
mov cx, si
and ecx, 0x7fb1
mov si, cx
mov word [0x490356], si
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x496fc4]
mov edx, ecx
inc edx
mov dword [0x496fc4], edx
xor ecx, 0xb7147d19
or ecx, 0x7d180a0d
cmp eax, ecx
jg 0x4221d5
mov eax, dword [0x497524]
mov ecx, eax
dec ecx
mov dword [0x497524], ecx
and eax, 0x9a8d5c68
mov ecx, dword [0x49ae00]
imul ecx, eax
mov dword [0x49ae00], ecx
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x497d9c]
and eax, 0xd99fb1be
mov dword [0x497d9c], eax
cmp dword [esp + 0x5c], 3
jne 0x4225a6
mov eax, 0x3a63257
mov ecx, dword [0x495834]
sar ecx, 5
and ecx, 0x513d64
or ecx, 0xb04490a1
cmp eax, ecx
jle 0x422245
mov ax, word [0x492a34]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x492a34], dx
movsx ecx, ax
add ecx, 0xad9efeee
mov esi, dword [0x495918]
and esi, ecx
mov dword [0x495918], esi
movzx eax, byte [esp + 0x55]
shr eax, 2
mov cl, al
mov byte [esp + 0x51], cl
mov word [0x493d3a], 0xcf40
movzx eax, byte [esp + 0x55]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x52], cl
mov dx, word [0x49195a]
mov ax, dx
dec eax
mov dx, ax
mov word [0x49195a], dx
movsx eax, dx
and eax, 0xd1e67fc8
cmp eax, 0xac466e77
jg 0x4222d4
mov eax, 0x8abbdecf
mov cx, word [0x493d46]
mov dx, cx
dec edx
mov si, dx
mov word [0x493d46], si
movsx edx, cx
add edx, 0x45c26016
cmp eax, edx
jle 0x4222cf
mov eax, dword [0x498e84]
or eax, 0xdbfa7872
mov dword [0x498e84], eax
jmp 0x4222d4
movzx eax, byte [esp + 0x56]
shr eax, 4
movzx ecx, byte [esp + 0x52]
add ecx, eax
mov dl, cl
mov byte [esp + 0x52], dl
mov si, word [0x4912ba]
mov ax, si
add eax, 0xe1ff1047
mov si, ax
mov word [0x4912ba], si
movzx eax, byte [esp + 0x56]
and eax, 0xf
shl eax, 2
mov dl, al
mov byte [esp + 0x53], dl
mov si, word [0x4937b4]
mov ax, si
or eax, 0xa19f
mov si, ax
mov word [0x4937b4], si
movzx eax, byte [esp + 0x57]
shr eax, 6
movzx ecx, byte [esp + 0x53]
add ecx, eax
mov dl, cl
mov byte [esp + 0x53], dl
mov si, word [0x4912fe]
mov ax, si
not eax
add eax, 0x464161aa
mov si, ax
mov word [0x490e42], si
movzx eax, byte [esp + 0x57]
and eax, 0x3f
mov dl, al
mov byte [esp + 0x54], dl
mov si, word [0x49409a]
mov ax, si
add eax, 0x5b150954
mov si, ax
mov word [0x49409a], si
mov dword [esp + 0x5c], 0
mov eax, dword [0x49ae30]
mov dword [0x4979e0], eax
cmp dword [esp + 0x5c], 4
je 0x42256f
mov eax, dword [0x49654c]
xor eax, 0xa9e2bead
mov dword [0x49654c], eax
test byte [esp + 0x77], 1
je 0x4224a6
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x4224a6
mov dword [0x499910], 0x84b2bb52
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3e
jne 0x422449
mov eax, 0x4906082
mov ecx, dword [0x495f00]
dec ecx
mov dword [0x495f00], ecx
add ecx, 0xb95717da
cmp eax, ecx
jge 0x42241d
mov eax, dword [0x4995a4]
dec eax
mov dword [0x4995a4], eax
xor eax, 0x9b811c
mov dword [0x494d6c], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00448630
sub esp, 4
mov ecx, dword [0x4954d4]
sar ecx, 4
mov dword [0x4976a8], ecx
mov dword [esp + 0x24], eax
jmp 0x422497
mov eax, dword [0x49b43c]
sar eax, 2
neg eax
mov ecx, dword [0x49c5f8]
lea eax, [ecx + eax - 0x6dd3191f]
mov dword [0x49c5f8], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.00448630
sub esp, 4
mov si, word [0x491f4c]
mov cx, si
imul ecx, ecx, 0xb1496167
mov si, cx
mov word [0x491f4c], si
mov dword [esp + 0x20], eax
mov dword [0x49a140], 0x3a64df0b
jmp 0x4224ec
mov eax, dword [0x4963d8]
and eax, 0xa9bcd4c9
mov dword [0x4963d8], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x5c]
movzx eax, byte [esp + eax + 0x51]
mov edx, dword [esp + 0x40]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.00438ab0
sub esp, 4
mov ecx, dword [0x49b374]
imul ecx, ecx, 0x92c75d09
mov dword [0x49b374], ecx
mov dword [esp + 0x1c], eax
mov eax, 0x11437fef
mov ecx, dword [0x49b7c0]
cmp eax, ecx
jne 0x42251f
mov eax, dword [0x49acf8]
mov ecx, dword [0x49a634]
sar ecx, 2
add ecx, 0xa8481b98
xor eax, ecx
mov dword [0x494ec8], eax
jmp 0x422552
mov eax, 0xba00644c
mov ecx, dword [0x4960e4]
imul ecx, ecx, 0x2378cfa2
and ecx, 0x4ec019e8
cmp eax, ecx
jg 0x42254d
mov eax, dword [0x497d20]
xor eax, 0xea24ee61
mov dword [0x497d20], eax
jmp 0x422552
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x49bf2c]
xor eax, 0x240f03ef
mov dword [0x49bf2c], eax
jmp 0x422395
mov ax, word [0x491d0c]
mov cx, ax
mov ax, word [0x4939c6]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4939c6], ax
mov dword [esp + 0x5c], 0
mov ecx, dword [0x49a3c8]
imul ecx, ecx, 0xc6dae108
mov dword [0x49a3c8], ecx
mov eax, 0xa9e3d6f8
mov cx, word [0x4910cc]
movsx edx, cx
cmp eax, edx
jge 0x4225e6
mov ax, word [0x492dfe]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x492dfe], ax
movsx ecx, ax
mov edx, dword [0x498e5c]
sub edx, ecx
mov dword [0x498e5c], edx
jmp 0x4225f5
mov eax, dword [0x49970c]
and eax, 0x8735efa1
mov dword [0x49970c], eax
jmp 0x422119
mov eax, dword [0x498cd0]
mov cx, word [0x492a34]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x492a34], cx
cmp dword [esp + 0x5c], 0
je 0x422cf2
mov eax, dword [0x496db8]
mov cx, word [0x49036e]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x49036e], cx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov cx, word [0x490f34]
mov ax, cx
imul eax, eax, 0x76decc4b
mov cx, ax
mov word [0x490f34], cx
cmp dword [esp + 0x58], 3
jge 0x4226b2
mov eax, dword [0x49c478]
sar eax, 2
and eax, 0x57af4c63
mov ecx, dword [0x495ddc]
sub ecx, eax
mov dword [0x495ddc], ecx
mov eax, dword [esp + 0x58]
mov byte [esp + eax + 0x55], 0
mov word [0x4934fc], 0x8299
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [0x499cac]
add eax, 0xfdfffe5e
mov dword [0x499cac], eax
jmp 0x42265d
mov eax, dword [0x49bab8]
imul eax, eax, 0xb9640a18
mov dword [0x49bab8], eax
movzx eax, byte [esp + 0x55]
shr eax, 2
mov cl, al
mov byte [esp + 0x51], cl
mov dx, word [0x49074c]
mov ax, dx
imul eax, eax, 0xb8e27a48
mov dx, ax
mov word [0x49074c], dx
movzx eax, byte [esp + 0x55]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x52], cl
mov eax, dword [0x4962ac]
imul eax, eax, 0x9bd05560
mov dword [0x4962ac], eax
movzx eax, byte [esp + 0x56]
shr eax, 4
movzx esi, byte [esp + 0x52]
add esi, eax
mov eax, esi
mov cl, al
mov byte [esp + 0x52], cl
mov eax, dword [0x49b428]
shl eax, 4
imul eax, eax, 0xc91f630f
cmp eax, 0x1e96bb3e
jne 0x42275f
mov ax, word [0x49131e]
movsx ecx, ax
and ecx, 0xe97835ec
xor ecx, 0xfb5968ff
mov edx, dword [0x498b80]
imul edx, ecx
mov dword [0x498b80], edx
mov eax, 0xf5164434
movzx ecx, byte [esp + 0x56]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x53], dl
mov ecx, dword [0x497f50]
xor ecx, 0x2e4779ce
mov dword [0x497f50], ecx
movzx ecx, byte [esp + 0x57]
shr ecx, 6
movzx esi, byte [esp + 0x53]
add esi, ecx
mov ecx, esi
mov dl, cl
mov byte [esp + 0x53], dl
mov ecx, dword [0x4952f0]
mov esi, ecx
dec esi
mov dword [0x4952f0], esi
mov esi, dword [0x49bfa0]
xor ecx, esi
cmp eax, ecx
jne 0x4227d1
mov eax, dword [0x499010]
or eax, 0x1d7c6c7c
mov dword [0x499010], eax
jmp 0x422822
mov eax, 0xee404830
mov cx, word [0x49227e]
movsx edx, cx
sar edx, 8
add edx, 0x75d3bf9a
or edx, 0x60a89726
cmp eax, edx
jle 0x42281d
mov eax, dword [0x49622c]
mov ecx, eax
inc ecx
mov dword [0x49622c], ecx
and eax, 0x4b73431
xor eax, 0xc10d6e91
mov ecx, dword [0x499748]
or ecx, eax
mov dword [0x499748], ecx
jmp 0x422822
movzx eax, byte [esp + 0x57]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x54], cl
mov eax, dword [0x499810]
or eax, 0x7f5158ca
mov dword [0x499810], eax
mov dword [esp + 0x58], 0
mov eax, dword [0x499fb4]
mov dx, word [0x491f26]
movsx esi, dx
sar esi, 4
cmp eax, esi
jl 0x42289f
mov eax, 0x63bf56f1
mov ecx, dword [0x4992b0]
dec ecx
mov dword [0x4992b0], ecx
imul ecx, ecx, 0xae9b11cb
cmp eax, ecx
jg 0x42289a
mov ax, word [0x491062]
movsx ecx, ax
not ecx
mov edx, dword [0x4962e0]
add edx, ecx
mov dword [0x4962e0], edx
jmp 0x42289f
jmp 0x4228a4
mov eax, dword [0x49642c]
add eax, 0xffb9457
mov dword [0x49642c], eax
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x5c]
jle 0x42290f
mov eax, dword [0x498d8c]
shl eax, 0xa
cmp eax, 0xee8533e4
jl 0x42290a
mov eax, 0x5e9db386
mov ecx, dword [0x495354]
and ecx, 0x4e478a8c
mov edx, dword [0x4949c4]
and ecx, edx
cmp eax, ecx
jl 0x422905
mov eax, dword [0x498d48]
imul eax, eax, 0x4bbea17f
mov dword [0x498d48], eax
jmp 0x42290a
jmp 0x422b48
mov eax, 0x88997f76
mov cx, word [0x490af8]
movsx edx, cx
or edx, 0x308ad29e
cmp eax, edx
je 0x422948
mov eax, dword [0x4962d4]
mov ecx, eax
inc ecx
mov dword [0x4962d4], ecx
mov ecx, dword [0x49830c]
sub ecx, eax
mov dword [0x49830c], ecx
test byte [esp + 0x77], 1
je 0x422a63
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3d
jle 0x422a63
mov eax, dword [0x495fec]
shl eax, 4
and eax, 0x9470
mov cx, word [0x49384e]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x49384e], cx
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
cmp eax, 0x3e
jne 0x4229ea
mov eax, dword [0x497e20]
mov ecx, eax
dec ecx
mov dword [0x497e20], ecx
mov ecx, 0x260c5fb6
sub ecx, eax
mov eax, dword [0x49a13c]
or eax, ecx
mov dword [0x49a13c], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.00448630
sub esp, 4
mov ecx, dword [0x49a3e0]
and ecx, 0xffd232b1
mov dword [0x49a3e0], ecx
mov dword [esp + 0x18], eax
jmp 0x422a3d
mov eax, dword [0x49aa80]
add eax, 0xa4649610
mov dword [0x49aa80], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x49]
mov dword [eax], edx
call fcn.00448630
sub esp, 4
mov ecx, dword [0x49a0bc]
mov edx, ecx
dec edx
mov dword [0x49a0bc], edx
mov edx, dword [0x496ee4]
inc edx
mov dword [0x496ee4], edx
sub ecx, edx
mov edx, dword [0x49bdf8]
sub edx, ecx
mov dword [0x49bdf8], edx
mov dword [esp + 0x14], eax
mov eax, dword [0x49a208]
mov ecx, eax
inc ecx
mov dword [0x49a208], ecx
and eax, 0x2004c000
mov ecx, dword [0x497898]
sub ecx, eax
mov dword [0x497898], ecx
jmp 0x422acb
mov eax, dword [0x499e94]
shl eax, 5
mov ecx, 0x549682b0
sub ecx, eax
mov dx, word [0x49331a]
mov ax, dx
add ecx, eax
mov dx, word [0x494580]
mov ax, dx
add eax, ecx
mov dx, ax
mov word [0x494580], dx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x58]
movzx eax, byte [esp + eax + 0x51]
mov esi, dword [esp + 0x40]
movsx eax, byte [esi + eax]
mov esi, esp
mov dword [esi], eax
call fcn.00438ab0
sub esp, 4
mov ecx, dword [0x49acdc]
add ecx, 0x594512b0
mov dword [0x49acdc], ecx
mov dword [esp + 0x10], eax
mov eax, 0xd489c989
mov ecx, dword [0x49bfc8]
inc ecx
mov dword [0x49bfc8], ecx
cmp eax, ecx
jne 0x422b09
mov eax, dword [0x499e18]
shr eax, 2
mov cx, word [0x4925c0]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4925c0], cx
jmp 0x422b21
mov ax, word [0x4923b8]
mov cx, ax
add ecx, 0x36808942
mov ax, cx
mov word [0x4923b8], ax
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov cx, word [0x49202a]
mov ax, cx
add eax, 0xcad4b68a
mov cx, ax
mov word [0x49202a], cx
jmp 0x4228a4
jmp 0x422b4d
cmp dword [esp + 0x5c], 3
jge 0x422cba
mov ax, word [0x4903ec]
movsx ecx, ax
or ecx, 0x43ecfc30
and ecx, 0xebedff7a
mov edx, dword [0x49c0fc]
not edx
mov esi, dword [0x49c9bc]
mov edi, esi
dec edi
mov dword [0x49c9bc], edi
xor edx, esi
cmp ecx, edx
jl 0x422b97
mov word [0x4919a2], 0x6686
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x496230]
add eax, 0x3d4aed30
xor eax, 0x5487bf33
mov dword [0x496730], eax
test byte [esp + 0x77], 1
je 0x422c09
mov eax, dword [0x498a30]
or eax, 0xf864dcf7
mov dword [0x498a30], eax
mov ecx, dword [esp + 0x78]
mov eax, esp
lea edx, [esp + 0x45]
mov dword [eax], edx
call fcn.00448630
sub esp, 4
mov ecx, dword [0x4981ec]
not ecx
mov si, word [0x492852]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x492852], si
mov dword [esp + 0xc], eax
jmp 0x422c7f
mov eax, 0xf8be4952
mov ecx, dword [0x497684]
add ecx, 0x4aa72d8a
xor ecx, 0x9ec7550f
cmp eax, ecx
jge 0x422c3b
mov eax, dword [0x498f90]
mov ecx, dword [0x49c59c]
xor ecx, eax
mov dword [0x49c59c], ecx
mov ecx, dword [esp + 0x78]
mov eax, esp
mov dword [eax], 0x3d
call fcn.00438ab0
sub esp, 4
mov dx, word [0x490636]
mov cx, dx
dec ecx
mov si, cx
mov word [0x490636], si
movsx ecx, dx
mov edi, dword [0x496360]
add edi, 0x720f2dc6
and ecx, edi
mov dword [0x4961bc], ecx
mov dword [esp + 8], eax
mov eax, dword [0x49495c]
shl eax, 0xa
mov ecx, dword [0x498dcc]
dec ecx
mov dword [0x498dcc], ecx
sub eax, ecx
or eax, 0xfcfa779b
cmp eax, 0xdffeed95
jge 0x422cb5
mov eax, dword [0x49bedc]
add eax, 0x3cdfed73
mov dword [0x49bedc], eax
jmp 0x422b4d
mov eax, 0xf6f84963
mov ecx, dword [0x49b5bc]
sar ecx, 6
sub eax, ecx
cmp eax, 0x36f29afc
je 0x422ced
mov ax, word [0x493dcc]
mov cx, ax
add ecx, 0x32e8da98
mov ax, cx
mov word [0x493dcc], ax
jmp 0x422cf2
mov ax, word [0x4928e6]
movsx ecx, ax
or ecx, 0x5b9b4777
mov edx, dword [0x495a08]
mov esi, edx
inc esi
mov dword [0x495a08], esi
add edx, 0xb325214a
or edx, 0x7321b153
cmp ecx, edx
je 0x422d2e
mov dword [0x495f68], 0xd4b9aab2
mov eax, dword [esp + 0x40]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x41
call fcn.004387b0
mov eax, dword [0x499c3c]
mov ecx, dword [0x497334]
not ecx
imul eax, ecx
imul eax, eax, 0xa0435e15
mov dx, word [0x493614]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x493614], dx
mov eax, esp
lea ecx, [esp + 0x4d]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00447c30
mov dx, word [0x492172]
mov ax, dx
and eax, 0x5b72
mov dx, ax
mov word [0x492172], dx
mov eax, esp
lea ecx, [esp + 0x49]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00447c30
mov eax, dword [0x494d70]
xor eax, 0x5efcae4c
mov dword [0x494d70], eax
mov eax, esp
lea ecx, [esp + 0x45]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.00447c30
mov eax, dword [0x49c8a8]
mov ecx, eax
dec ecx
mov dword [0x49c8a8], ecx
add eax, 0x984aef43
mov ecx, dword [0x49c1d0]
imul ecx, eax
mov dword [0x49c1d0], ecx
add esp, 0x7c
pop esi
pop edi
pop ebx
ret