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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x84
mov eax, dword [esp + 0xa0]
mov cl, byte [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
mov edi, 0x70704f59
mov dword [esp + 0x80], eax
and cl, 1
mov byte [esp + 0x7f], cl
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], esi
mov eax, dword [0x4957b4]
dec eax
mov dword [0x4957b4], eax
cmp edi, eax
jge 0x42c9cc
mov eax, dword [0x494128]
mov ecx, dword [0x49bcd8]
not ecx
sub eax, ecx
and eax, 0x9911cc94
mov dword [0x49d828], eax
mov eax, 0x7baf1b46
mov cx, word [0x4a2416]
mov dx, cx
add edx, 0x9828be3e
mov cx, dx
mov word [0x4a2416], cx
mov edx, dword [0x4a0728]
add edx, 0x44000114
mov dword [0x4a0728], edx
mov edx, dword [0x4989e4]
or edx, 0x32593c12
cmp eax, edx
jle 0x42ca2f
mov ax, word [0x4a1860]
movsx ecx, ax
and ecx, 0x6b0625a9
mov edx, dword [0x4956b8]
imul edx, ecx
mov dword [0x4956b8], edx
mov dword [esp + 0x64], 0
mov eax, dword [0x490fe0]
add eax, 0x10012020
mov dword [0x490fe0], eax
mov dword [esp + 0x60], 0
mov eax, dword [0x495ec0]
and eax, 0xe30af721
mov ecx, dword [0x49d9e8]
mov edx, ecx
inc edx
mov dword [0x49d9e8], edx
mov edx, dword [0x49d7c4]
mov esi, edx
dec esi
mov dword [0x49d7c4], esi
sub ecx, edx
add ecx, 0x4e225498
cmp eax, ecx
jge 0x42ca9b
mov eax, dword [0x49f594]
imul eax, eax, 0x4d7b3dff
mov dword [0x49f594], eax
jmp 0x42caab
mov eax, dword [0x49c250]
imul eax, eax, 0x8da77fa1
mov dword [0x49c250], eax
mov eax, 0x50e35b7b
mov ecx, esp
mov dword [ecx + 4], 0x41
mov dword [ecx], 0xbcd
mov dword [esp + 0x44], eax
call fcn.00430db0
mov dword [esp + 0x48], eax
mov eax, dword [0x499838]
mov ecx, eax
inc ecx
mov dword [0x499838], ecx
mov ecx, 0x3fe7eef1
sub ecx, eax
mov eax, dword [0x49878c]
sub eax, ecx
mov dword [0x49878c], eax
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], pe_nt_image_headers32
call fcn.00430db0
mov dword [esp + 0x70], eax
mov eax, dword [0x48f1f0]
mov ecx, eax
dec ecx
mov dword [0x48f1f0], ecx
add eax, 0x36c165ae
mov ecx, dword [0x49a9b0]
and ecx, eax
mov dword [0x49a9b0], ecx
mov eax, dword [esp + 0x70]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x55]
mov dword [ecx], eax
call fcn.00455220
mov ecx, dword [0x49d960]
shl ecx, 9
add ecx, 0x5c68a9d1
add ecx, 0x66d6d4c
mov edx, dword [esp + 0x44]
cmp edx, ecx
mov dword [esp + 0x40], eax
jge 0x42cb86
mov eax, dword [0x4a00f4]
xor eax, 0xffffffff
and eax, 0x4011aa72
cmp eax, 0x62deb49f
jg 0x42cb81
mov dword [0x49de88], 0xc0f0a9c1
jmp 0x42cb86
mov eax, 0x7599dd6d
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x13d4
mov dword [esp + 0x3c], eax
call fcn.00430db0
mov dword [esp + 0x6c], eax
mov dx, word [0x4a5340]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4a5340], dx
movsx eax, dx
xor eax, 0xa775a0c7
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jg 0x42cbf8
mov eax, dword [0x49a54c]
shl eax, 7
and eax, 0x5300
xor eax, 0xd5f4
mov cx, word [0x4a64e8]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a64e8], cx
mov eax, 0x8c17024
mov ecx, dword [esp + 0x70]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x38], eax
call fcn.00404f30
mov eax, dword [0x4a091c]
imul eax, eax, 0xc1583256
mov dword [0x4a091c], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.00455220
mov ecx, dword [0x49f178]
shl ecx, 4
mov edx, dword [0x49c05c]
imul edx, edx, 0xf725a228
or ecx, edx
mov edx, dword [0x496130]
imul edx, ecx
mov dword [0x496130], edx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x9c3
mov dword [esp + 0x34], eax
call fcn.00430db0
mov dword [esp + 0x68], eax
mov si, word [0x4a5598]
mov ax, si
dec eax
mov di, ax
mov word [0x4a5598], di
movsx eax, si
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jl 0x42ccbf
mov eax, dword [0x48edb8]
mov cx, word [0x4a6904]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4a6904], cx
jmp 0x42ccd7
mov ax, word [0x4a4fd8]
mov cx, ax
imul ecx, ecx, 0x1bd5a698
mov ax, cx
mov word [0x4a4fd8], ax
mov eax, 0x9e140b76
mov ecx, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x30], eax
call fcn.00404f30
mov eax, dword [0x496480]
xor eax, 0x7462a658
mov dword [0x496480], eax
mov eax, dword [esp + 0x68]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x4d]
mov dword [ecx], eax
call fcn.00455220
mov si, word [0x4a523e]
movsx ecx, si
xor ecx, 0x814d8100
or ecx, 0x64807edf
mov edx, dword [0x48f9b4]
sub edx, ecx
mov dword [0x48f9b4], edx
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x2c], eax
call fcn.00404f30
mov eax, dword [0x49ba58]
mov ecx, eax
dec ecx
mov dword [0x49ba58], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jle 0x42cdcc
mov eax, dword [0x49f5cc]
mov ecx, dword [0x49ed04]
add eax, ecx
cmp eax, 0xfc98732d
jle 0x42cdb0
mov ax, word [0x4aa478]
movsx ecx, ax
sar ecx, 1
add ecx, 0x6255b61a
or ecx, 0x77799202
mov edx, dword [0x49ada8]
imul edx, ecx
mov dword [0x49ada8], edx
jmp 0x42cdc7
mov eax, dword [0x497d18]
sar eax, 2
add eax, 0xd0b3d067
xor eax, 0xc3cdcfd1
mov dword [0x4a069c], eax
jmp 0x42cde8
mov eax, dword [0x4939bc]
mov ecx, eax
inc ecx
mov dword [0x4939bc], ecx
mov ecx, dword [0x49b7bc]
add ecx, eax
mov dword [0x49b7bc], ecx
jmp 0x42cded
cmp dword [esp + 0x78], 0
je 0x42d3c1
mov eax, 0x1556f67f
mov ecx, dword [0x495628]
imul ecx, ecx, 0x8ad3d77e
cmp eax, ecx
jge 0x42ce41
mov ax, word [0x4a1d9e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a1d9e], ax
movsx ecx, ax
imul ecx, ecx, 0x501fbdd8
or ecx, 0x51837747
mov edx, dword [0x494504]
sub edx, ecx
mov dword [0x494504], edx
mov eax, dword [esp + 0x78]
dec eax
mov dword [esp + 0x78], eax
mov dword [0x49d0b4], 0x9cb5ec66
mov eax, dword [esp + 0x74]
mov cl, byte [eax]
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x5d], cl
mov eax, dword [0x49ebac]
imul eax, eax, 0xea5db3da
mov dword [0x49ebac], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov dx, word [0x4a5128]
mov ax, dx
imul eax, eax, 0xffadfbff
mov dx, ax
mov word [0x4a5128], dx
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x74], eax
mov eax, dword [0x4940a8]
mov esi, dword [0x495abc]
and esi, eax
mov dword [0x495abc], esi
cmp dword [esp + 0x64], 3
jne 0x42d3ac
mov ax, word [0x4a5964]
mov cx, ax
or ecx, 0x4cf0
mov ax, cx
mov word [0x4a5964], ax
movzx ecx, byte [esp + 0x5d]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x59], dl
mov ecx, dword [0x49ccd0]
add ecx, 0x4f6db7d
mov dword [0x49ccd0], ecx
movzx ecx, byte [esp + 0x5d]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x5a], dl
mov ecx, dword [0x495fdc]
mov esi, ecx
dec esi
mov dword [0x495fdc], esi
cmp ecx, 0xb80b8cd7
je 0x42cf4e
mov eax, 0x57c9efa9
mov ecx, dword [0x495838]
inc ecx
mov dword [0x495838], ecx
cmp eax, ecx
jg 0x42cf49
mov eax, dword [0x49b2e0]
xor eax, 0xd39b6fb
mov dword [0x49b2e0], eax
jmp 0x42cf4e
mov eax, 0xff1dffee
movzx ecx, byte [esp + 0x5e]
shr ecx, 4
movzx edx, byte [esp + 0x5a]
add edx, ecx
mov bl, dl
mov byte [esp + 0x5a], bl
mov si, word [0x4a81ea]
movsx ecx, si
mov edx, dword [0x4990d0]
mov edi, edx
inc edi
mov dword [0x4990d0], edi
add ecx, edx
or ecx, 0xe74b2207
cmp eax, ecx
jle 0x42cfa0
mov eax, dword [0x495cf4]
add eax, 0x6e48ec42
mov dword [0x4946ec], eax
movzx eax, byte [esp + 0x5e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x5b], cl
mov eax, dword [0x491c30]
xor eax, 0xddba5c56
mov dword [0x491c30], eax
movzx eax, byte [esp + 0x5f]
shr eax, 6
movzx edx, byte [esp + 0x5b]
add edx, eax
mov cl, dl
mov byte [esp + 0x5b], cl
mov eax, dword [0x494810]
and eax, 0x98000542
mov dword [0x494810], eax
movzx eax, byte [esp + 0x5f]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x5c], cl
mov si, word [0x4a7700]
mov ax, si
add eax, 0xa983e53c
mov si, ax
mov word [0x4a7700], si
mov dword [esp + 0x64], 0
mov eax, dword [0x499058]
add eax, 0x200401
mov dword [0x499058], eax
cmp dword [esp + 0x64], 4
je 0x42d30c
mov eax, dword [0x49b6a4]
imul eax, eax, 0xd742ddd7
mov dword [0x49b6a4], eax
test byte [esp + 0x7f], 1
je 0x42d270
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3d
jle 0x42d270
mov eax, 0xd7cbfead
mov ecx, dword [0x497ec8]
mov edx, ecx
inc edx
mov dword [0x497ec8], edx
cmp eax, ecx
jge 0x42d09b
mov ax, word [0x4aa524]
movsx ecx, ax
imul ecx, ecx, 0xe388c72d
mov edx, dword [0x495260]
or ecx, edx
mov edx, dword [0x49777c]
and edx, ecx
mov dword [0x49777c], edx
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3e
jne 0x42d1d3
mov eax, 0x6ff6e05f
mov cx, word [0x4a87c0]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a87c0], cx
movsx edx, cx
cmp eax, edx
jne 0x42d173
mov eax, 0x38501000
mov ecx, dword [0x49c71c]
mov edx, ecx
inc edx
mov dword [0x49c71c], edx
cmp eax, ecx
jg 0x42d142
mov ax, word [0x4a5efc]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a5efc], dx
movsx ecx, ax
or ecx, 0xd359edf2
mov esi, dword [0x492770]
imul esi, esi, 0x5f0f465d
mov ax, word [0x4aa008]
mov di, ax
inc edi
mov dx, di
mov word [0x4aa008], dx
movsx edi, ax
or esi, edi
cmp ecx, esi
je 0x42d13d
jmp 0x42d13d
jmp 0x42d16e
mov eax, dword [0x496110]
mov ecx, eax
dec ecx
mov dword [0x496110], ecx
imul eax, eax, 0x59f466aa
mov ecx, dword [0x49e79c]
not ecx
and eax, ecx
mov ecx, dword [0x48f778]
or ecx, eax
mov dword [0x48f778], ecx
jmp 0x42d173
mov eax, 0xebffc6f7
mov ecx, dword [esp + 0x80]
mov edx, esp
lea esi, [esp + 0x55]
mov dword [edx], esi
mov dword [esp + 0x28], eax
call fcn.004340f0
sub esp, 4
mov ecx, dword [0x49ff08]
dec ecx
mov dword [0x49ff08], ecx
or ecx, 0x900b60cb
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
jne 0x42d1ce
mov ax, word [0x4a542a]
mov cx, ax
add ecx, 0x1dda4244
mov ax, cx
mov word [0x4a542a], ax
jmp 0x42d228
mov eax, dword [0x49527c]
xor eax, 0xfc10f33f
mov dword [0x49527c], eax
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.004340f0
sub esp, 4
mov ecx, dword [0x4949b4]
mov edx, ecx
dec edx
mov dword [0x4949b4], edx
add ecx, 0xdef88858
mov si, word [0x4a1db4]
mov dx, si
xor edx, ecx
mov si, dx
mov word [0x4a1db4], si
mov dword [esp + 0x20], eax
mov eax, 0x1993df55
mov ecx, dword [0x498038]
sub eax, ecx
cmp eax, 0xf6d767db
je 0x42d26b
mov eax, 0xa2b5a733
mov ecx, dword [0x49f714]
xor ecx, 0xffffffff
xor ecx, 0xcb31cb06
cmp eax, ecx
je 0x42d266
mov dword [0x49970c], 0xdfe66108
jmp 0x42d26b
jmp 0x42d2d2
mov eax, dword [0x49072c]
imul eax, eax, 0xdbf7c4d7
mov dword [0x49072c], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x59]
mov edx, dword [esp + 0x48]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0042af80
sub esp, 4
mov ecx, dword [0x4903e4]
mov edx, dword [0x4930b0]
mov esi, edx
dec esi
mov dword [0x4930b0], esi
lea ecx, [ecx + edx - 0x2d610dd2]
mov edx, dword [0x4a0880]
xor edx, ecx
mov dword [0x4a0880], edx
mov dword [esp + 0x1c], eax
mov eax, dword [0x49bc84]
add eax, 0x7a168d88
mov dword [0x49bc84], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov cx, word [0x4a3590]
movsx eax, cx
and eax, 0xdc6c4974
mov edx, dword [0x494e40]
add edx, eax
mov dword [0x494e40], edx
jmp 0x42d022
mov eax, dword [0x49184c]
mov ecx, eax
dec ecx
mov dword [0x49184c], ecx
mov ecx, dword [0x49d858]
sub eax, ecx
mov dx, word [0x4a7528]
movsx ecx, dx
mov esi, dword [0x4923e4]
sub ecx, esi
cmp eax, ecx
jl 0x42d362
mov eax, dword [0x49f9fc]
imul eax, eax, 0x11a77fa6
xor eax, 0xd101
mov cx, word [0x4a7a5e]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a7a5e], cx
mov eax, 0x87567829
mov dword [esp + 0x64], 0
mov ecx, dword [0x49fd8c]
mov edx, ecx
inc edx
mov dword [0x49fd8c], edx
add ecx, 0x7f8fb968
cmp eax, ecx
jl 0x42d3a7
mov eax, dword [0x4a0160]
shl eax, 6
or eax, 0x3e004c95
mov ecx, dword [0x499218]
add ecx, eax
mov dword [0x499218], ecx
jmp 0x42d3ac
mov eax, dword [0x494028]
imul eax, eax, 0xf4b80948
mov dword [0x494028], eax
jmp 0x42cded
mov eax, dword [0x49be58]
mov ecx, eax
inc ecx
mov dword [0x49be58], ecx
mov ecx, dword [0x490d00]
add eax, ecx
xor eax, 0x6977a997
mov ecx, dword [0x4987fc]
inc ecx
mov dword [0x4987fc], ecx
cmp eax, ecx
jge 0x42d3fa
mov word [0x4a78c4], 0x728
cmp dword [esp + 0x64], 0
je 0x42d9c0
mov eax, dword [0x4a0448]
lea eax, [eax*4 + 0x342141d6]
mov ecx, dword [0x4906e0]
mov edx, ecx
inc edx
mov dword [0x4906e0], edx
or eax, ecx
mov ecx, dword [0x498e84]
or ecx, eax
mov dword [0x498e84], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov eax, dword [0x49b0ac]
mov si, word [0x4a4ad0]
movsx ecx, si
xor eax, ecx
mov si, word [0x4a741e]
movsx ecx, si
xor eax, ecx
mov ecx, dword [0x4963e8]
or ecx, eax
mov dword [0x4963e8], ecx
cmp dword [esp + 0x60], 3
jge 0x42d4ee
mov eax, 0xf18084e4
mov ecx, dword [0x4947ac]
mov edx, ecx
dec edx
mov dword [0x4947ac], edx
and ecx, 0x7ff5316d
xor ecx, 0xff7ef693
cmp eax, ecx
je 0x42d4ae
mov ax, word [0x4a3828]
mov cx, ax
xor ecx, 0x9b3c
mov ax, cx
mov word [0x4a3828], ax
mov eax, dword [esp + 0x60]
mov byte [esp + eax + 0x5d], 0
mov eax, dword [0x4938e8]
and eax, 0x6c44580d
mov dword [0x4938e8], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [0x4a0d94]
imul eax, eax, 0x2221164c
or eax, 0x7e31
mov cx, ax
mov word [0x4a8930], cx
jmp 0x42d463
mov eax, 0xff7f33d3
mov ecx, dword [0x4918b4]
cmp eax, ecx
jne 0x42d51e
mov eax, dword [0x4a0ab4]
mov ecx, eax
dec ecx
mov dword [0x4a0ab4], ecx
mov ecx, dword [0x494ffc]
imul ecx, eax
mov dword [0x494ffc], ecx
movzx eax, byte [esp + 0x5d]
shr eax, 2
mov cl, al
mov byte [esp + 0x59], cl
mov eax, dword [0x4a0a6c]
shl eax, 9
add eax, 0x6a30cff6
mov dword [0x49b254], eax
movzx eax, byte [esp + 0x5d]
and eax, 3
shl eax, 4
mov cl, al
mov byte [esp + 0x5a], cl
mov eax, dword [0x4943ac]
add eax, 0x8ecc0224
mov edx, dword [0x497164]
and edx, eax
mov dword [0x497164], edx
movzx eax, byte [esp + 0x5e]
shr eax, 4
movzx edx, byte [esp + 0x5a]
add edx, eax
mov cl, dl
mov byte [esp + 0x5a], cl
mov eax, dword [0x49074c]
add eax, 0x79662f0e
mov dword [0x49074c], eax
movzx eax, byte [esp + 0x5e]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x5b], cl
mov si, word [0x4a32cc]
mov ax, si
add eax, 0x77bfbfab
mov si, ax
mov word [0x4a32cc], si
movzx eax, byte [esp + 0x5f]
shr eax, 6
movzx edx, byte [esp + 0x5b]
add edx, eax
mov cl, dl
mov byte [esp + 0x5b], cl
mov si, word [0x4a9f78]
movsx eax, si
mov edx, dword [0x49595c]
or eax, edx
or eax, 0x32c0c8ea
mov dword [0x49595c], eax
movzx eax, byte [esp + 0x5f]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x5c], cl
mov eax, dword [0x49d534]
mov edx, eax
inc edx
mov dword [0x49d534], edx
xor eax, 0x617790ce
mov dword [0x4976d8], eax
mov dword [esp + 0x60], 0
mov dword [0x49aa1c], 0x9ffdeff7
mov eax, dword [0x49c96c]
xor eax, 0xbdbf3ebd
mov dword [0x49c96c], eax
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x64]
jle 0x42d663
mov ax, word [0x4a946e]
movsx ecx, ax
add ecx, 0x9d2f7cec
xor ecx, 0x3e2365d5
mov edx, dword [0x49f3e4]
and edx, ecx
mov dword [0x49f3e4], edx
jmp 0x42d859
mov eax, dword [0x49986c]
or eax, 0x2fe88c5a
mov dword [0x49986c], eax
test byte [esp + 0x7f], 1
je 0x42d7b0
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3d
jle 0x42d7b0
mov eax, dword [0x49adb8]
sar eax, 2
mov ecx, dword [0x496174]
or ecx, eax
mov dword [0x496174], ecx
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
cmp eax, 0x3e
jne 0x42d713
mov eax, dword [0x497678]
or eax, 0xeb9e7460
mov dword [0x497678], eax
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x55]
mov dword [eax], edx
call fcn.004340f0
sub esp, 4
mov ecx, dword [0x499f90]
shl ecx, 9
mov edx, 0x35576202
sub edx, ecx
and edx, 0xeb26
mov si, word [0x4a5478]
mov cx, si
imul ecx, edx
mov si, cx
mov word [0x4a5478], si
mov dword [esp + 0x18], eax
jmp 0x42d760
mov eax, dword [0x4925b4]
mov ecx, dword [0x49a2b4]
sub eax, ecx
xor eax, 0x24d25b94
mov ecx, dword [0x49ce7c]
sub ecx, eax
mov dword [0x49ce7c], ecx
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.004340f0
sub esp, 4
mov ecx, dword [0x49153c]
and ecx, 0x49b8ad30
mov dword [0x49153c], ecx
mov dword [esp + 0x14], eax
mov eax, 0x8810604
mov cx, word [0x4a6b26]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a6b26], cx
movsx edx, cx
mov esi, dword [0x49ae94]
sub edx, esi
sub edx, 0xad44e8eb
cmp eax, edx
jge 0x42d7ab
mov ax, word [0x4a6cbe]
mov cx, ax
or ecx, 0x64a7
mov ax, cx
mov word [0x4a6cbe], ax
jmp 0x42d7fa
mov eax, dword [0x499fc4]
imul eax, eax, 0xe1b0ac1a
mov dword [0x499fc4], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x60]
movzx eax, byte [esp + eax + 0x59]
mov edx, dword [esp + 0x48]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0042af80
sub esp, 4
mov ecx, dword [0x49cd0c]
xor ecx, 0x168429d
mov dword [0x49cd0c], ecx
mov dword [esp + 0x10], eax
mov eax, 0x6029240
mov cx, word [0x4a6c36]
mov dx, cx
xor edx, 0xdef4
mov cx, dx
mov word [0x4a6c36], cx
mov edx, dword [esp + 0x60]
inc edx
mov dword [esp + 0x60], edx
mov edx, dword [0x494134]
mov esi, edx
inc esi
mov dword [0x494134], esi
add edx, 0xd24b0750
xor edx, 0x5d439f9
cmp eax, edx
jne 0x42d854
mov eax, dword [0x49a970]
or eax, 0x74200c03
mov dword [0x49a970], eax
jmp 0x42d61e
jmp 0x42d85e
cmp dword [esp + 0x64], 3
jge 0x42d9b1
mov ax, word [0x4a74ec]
mov cx, ax
xor ecx, 0x630b
mov ax, cx
mov word [0x4a74ec], ax
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [0x48fc3c]
mov edx, dword [0x497650]
xor ecx, edx
xor ecx, 0x97da0615
mov dword [0x497650], ecx
test byte [esp + 0x7f], 1
je 0x42d90e
mov eax, dword [0x49eae8]
mov ecx, eax
dec ecx
mov dword [0x49eae8], ecx
add eax, 0x4435f564
mov ecx, dword [0x49c61c]
or ecx, eax
mov dword [0x49c61c], ecx
mov ecx, dword [esp + 0x80]
mov eax, esp
lea edx, [esp + 0x4d]
mov dword [eax], edx
call fcn.004340f0
sub esp, 4
mov si, word [0x4a8e5e]
movsx ecx, si
or ecx, 0xcfb2028c
mov edx, dword [0x49280c]
sub edx, ecx
mov dword [0x49280c], edx
mov dword [esp + 0xc], eax
jmp 0x42d99d
mov eax, dword [0x49b6d8]
mov ecx, dword [0x48fbb8]
lea eax, [eax + ecx - 0x488b436d]
mov dword [0x48fbb8], eax
mov ecx, dword [esp + 0x80]
mov eax, esp
mov dword [eax], 0x3d
call fcn.0042af80
sub esp, 4
mov ecx, dword [0x49022c]
inc ecx
mov dword [0x49022c], ecx
xor ecx, 0x256de112
mov edx, dword [0x49a228]
dec edx
mov dword [0x49a228], edx
cmp ecx, edx
mov dword [esp + 8], eax
jge 0x42d998
mov eax, 0x2257f815
mov ecx, dword [0x492b90]
sar ecx, 7
and ecx, 0x2a2293dc
cmp eax, ecx
jl 0x42d993
mov eax, dword [0x4936e4]
add eax, 0x28b414ff
mov dword [0x4936e4], eax
jmp 0x42d998
jmp 0x42d99d
mov eax, dword [0x496520]
xor eax, 0x39d1fbbd
mov dword [0x496520], eax
jmp 0x42d85e
mov eax, dword [0x48f0dc]
xor eax, 0x980e9ba
mov dword [0x48f0dc], eax
mov ax, word [0x4a369e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a369e], dx
movsx ecx, ax
or ecx, 0x4409a357
mov esi, dword [0x4903a4]
add esi, ecx
mov dword [0x4903a4], esi
mov ecx, dword [esp + 0x48]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x41
call fcn.00404f30
mov ax, word [0x4a3836]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a3836], dx
movsx ecx, ax
imul ecx, ecx, 0x19743152
mov esi, dword [0x49201c]
add ecx, esi
mov esi, dword [0x495f74]
xor esi, ecx
mov dword [0x495f74], esi
mov ecx, esp
lea esi, [esp + 0x55]
mov dword [ecx], esi
mov dword [ecx + 4], 4
call fcn.00417500
mov ax, word [0x4a12b4]
mov cx, ax
or ecx, 0x9bd7
mov ax, cx
mov word [0x4a12b4], ax
mov ecx, esp
lea esi, [esp + 0x51]
mov dword [ecx], esi
mov dword [ecx + 4], 4
call fcn.00417500
mov ecx, dword [0x499dac]
mov esi, dword [0x499700]
xor esi, ecx
mov dword [0x499700], esi
mov ecx, esp
lea esi, [esp + 0x4d]
mov dword [ecx], esi
mov dword [ecx + 4], 4
call fcn.00417500
mov ecx, dword [0x4a00f0]
not ecx
and ecx, 0x3c05d47c
mov esi, dword [0x492854]
sub esi, ecx
mov dword [0x492854], esi
add esp, 0x84
pop esi
pop edi
pop ebx
ret