Function at 0x47d888
Capabilities:
Encode data using base64
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1618
call fcn.004811e0
mov eax, dword [0x4b6084]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
and dword [ebp - 0x143c], 0
movzx eax, byte [0x4b6074]
test eax, eax
jne 0x47d8d0
movzx eax, word [0x4b74f0]
add eax, dword [0x4b77e0]
mov ecx, dword [0x4b7604]
sub ecx, eax
mov dword [0x4b7604], ecx
jmp 0x47d930
movzx eax, byte [0x4b71cc]
cdq
push 0x2e
pop ecx
idiv ecx
mov ecx, eax
movzx eax, word [0x4b77e4]
mov esi, dword [0x4b7e10]
add esi, 0x3a
cdq
idiv esi
sub ecx, eax
movzx eax, byte [0x4b77f0]
cdq
push 0x1a
pop esi
idiv esi
add ecx, eax
movzx eax, byte [0x4b77c8]
mov esi, dword [0x4b74f0]
add esi, 0x3b
cdq
idiv esi
sub ecx, eax
add ecx, dword [0x4b77ec]
sub ecx, dword [0x4b77c0]
add ecx, dword [0x4b77fc]
mov dword [0x4b77fc], ecx
mov ecx, dword [0x4b71d8]
add ecx, 0x39
mov eax, dword [0x4b72e4]
cdq
idiv ecx
mov ecx, dword [0x4b7e08]
imul ecx, dword [0x4b77f0]
add eax, ecx
mov dword [0x4b77ec], eax
movzx eax, byte [0x4b77e8]
mov ecx, dword [0x4b7e08]
add ecx, 0x48
cdq
idiv ecx
mov ecx, eax
add ecx, dword [0x4b6074]
mov esi, dword [0x4b74f0]
add esi, 0x3d
mov eax, dword [0x4b7e10]
cdq
idiv esi
add ecx, eax
movzx eax, word [0x4b7e08]
cmp ecx, eax
jl 0x47d9a8
mov eax, dword [0x4b74f0]
imul eax, dword [0x4b7e08]
movzx ecx, word [0x4b7cc4]
add eax, ecx
mov dword [0x4b77e8], eax
mov ecx, dword [0x4b7e0c]
add ecx, 0x47
mov eax, dword [0x4b6074]
cdq
idiv ecx
add eax, dword [0x4b77f0]
sub eax, dword [0x4b77e8]
add eax, dword [0x4b7cc4]
mov dword [0x4b7cc4], eax
movzx eax, byte [0x4b77dc]
mov ecx, dword [0x4b71cc]
add ecx, 0x59
cdq
idiv ecx
imul eax, dword [0x4b77c4]
cdq
push 0x2b
pop ecx
idiv ecx
movzx ecx, word [0x4b77f4]
sub eax, ecx
sub eax, dword [0x4b77c8]
mov dword [0x4b77f4], eax
mov ecx, dword [0x4b77f4]
add ecx, dword [0x4b77e8]
sub ecx, dword [0x4b6074]
mov esi, dword [0x4b7e0c]
add esi, 0x44
mov eax, dword [0x4b7e0c]
cdq
idiv esi
add ecx, eax
mov esi, dword [0x4b71cc]
add esi, 0x5a
mov eax, dword [0x4b72e4]
cdq
idiv esi
imul eax, dword [0x4b77fc]
add ecx, eax
mov dword [0x4b77f4], ecx
mov eax, dword [0x4b77f0]
add eax, dword [0x4b77f8]
add eax, dword [0x4b7bbc]
mov ecx, dword [0x4b77ec]
imul ecx, dword [0x4b77d0]
mov edx, dword [0x4b7e08]
sub edx, ecx
cmp eax, edx
je 0x47da7d
mov eax, dword [0x4b77e8]
mov dword [0x4b77c4], eax
movzx eax, word [0x4b7e0c]
mov ecx, dword [0x4b71cc]
add ecx, 0x3f
cdq
idiv ecx
mov ecx, 0x4b72e8
movzx ecx, cx
add eax, ecx
mov ecx, 0x4b7800
movzx ecx, cx
movzx edx, word [0x4b77c0]
imul ecx, edx
sub eax, ecx
add eax, dword [0x4b77f4]
mov ecx, dword [0x4b77dc]
sub ecx, eax
mov dword [0x4b77dc], ecx
mov eax, dword [0x4b77e8]
cmp eax, dword [0x4b77ec]
jl 0x47daf0
mov eax, dword [0x4b77b4]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, dword [0x4b72e4]
add eax, dword [0x4b6074]
mov dword [0x4b6074], eax
jmp 0x47db00
mov eax, dword [0x4b77f4]
add eax, dword [0x4b7cc4]
mov dword [0x4b77f4], eax
push 0x400
push 0
lea eax, [ebp - 0xdbc]
push eax
call fcn.00483bf0
add esp, 0xc
push 0
push 0
call dword [0x49e0a8]
mov dword [ebp - 0x137c], eax
mov dword [ebp - 0x1420], 0x7a5ee65d
mov dword [ebp - 0x141c], 0x944f0194
mov dword [ebp - 0x1430], 0xd8cf31a8
mov dword [ebp - 0x142c], 0x3b481d02
mov dword [ebp - 0x1498], 0x38e06b63
mov dword [ebp - 0x1494], 0x42bf9cb4
mov dword [ebp - 0x1490], 0x3ee06f4e
mov dword [ebp - 0x148c], 0x51f891c4
and dword [ebp - 0x138c], 0
cmp dword [ebp - 0x137c], 0
je 0x47db92
cmp dword [ebp - 0x137c], 0xf6
jbe 0x47db9b
push 0
call fcn.00486d64
jmp 0x47dba7
mov eax, dword [0x4b74f0]
inc eax
mov dword [ebp - 0x138c], eax
mov eax, dword [ebp - 0x138c]
add eax, 4
mov ecx, dword [ebp - 0x138c]
add ecx, 9
imul eax, ecx
xor ecx, ecx
mov dword [ebp - 0x1438], eax
mov dword [ebp - 0x1434], ecx
mov dword [ebp - 0x1488], 0x1fd1bc4
and dword [ebp - 0x1484], 0
imul eax, dword [ebp - 0x138c], 0x24
xor ecx, ecx
mov dword [ebp - 0x14f8], eax
mov dword [ebp - 0x14f4], ecx
push 0xe
pop eax
xor edx, edx
div dword [ebp - 0x138c]
xor ecx, ecx
mov dword [ebp - 0x1500], eax
mov dword [ebp - 0x14fc], ecx
mov dword [ebp - 0x14f0], 0x32000
and dword [ebp - 0x14ec], 0
mov eax, dword [ebp - 0x137c]
inc eax
push eax
push 0x40
call dword [0x49e12c]
mov dword [ebp - 0x1390], eax
cmp dword [ebp - 0x1390], 0
jne 0x47dc40
push 0
call fcn.00486d64
push dword [ebp - 0x1390]
mov eax, dword [ebp - 0x137c]
inc eax
push eax
call dword [0x49e0a8]
mov dword [ebp - 0x149c], eax
push dword [ebp - 0x142c]
push dword [ebp - 0x1430]
push dword [ebp - 0x141c]
push dword [ebp - 0x1420]
call fcn.00481180
add eax, dword [ebp - 0x1498]
adc edx, dword [ebp - 0x1494]
mov dword [ebp - 0x1480], eax
mov dword [ebp - 0x147c], edx
push dword [ebp - 0x142c]
push dword [ebp - 0x1430]
push dword [ebp - 0x141c]
push dword [ebp - 0x1420]
call fcn.00481180
add eax, dword [ebp - 0x1490]
adc edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1478], eax
mov dword [ebp - 0x1474], edx
push dword [ebp - 0x1484]
push dword [ebp - 0x1488]
push dword [ebp - 0x1434]
push dword [ebp - 0x1438]
call fcn.00481180
add eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x1450], eax
push 0x20
push 0x40
call dword [0x49e12c]
mov dword [ebp - 0x13d8], eax
cmp dword [ebp - 0x149c], 0
je 0x47dd1d
mov eax, dword [ebp - 0x13d8]
mov ecx, dword [ebp - 0x1480]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x147c]
mov dword [eax + 4], ecx
push dword [ebp - 0x13d8]
call dword [0x49e200]
mov dword [ebp - 0x14a0], eax
push 0x20
push 0x40
call dword [0x49e12c]
mov dword [ebp - 0x13bc], eax
lea eax, [ebp - 0xdbc]
push eax
push 0
push 0x4a5493
push dword [ebp - 0x1390]
call dword [0x49e14c]
mov dword [ebp - 0x137c], eax
push dword [ebp - 0x1390]
call dword [0x49e130]
lea eax, [ebp - 0xdbc]
push eax
call dword [0x49e080]
test eax, eax
je 0x47dda7
mov eax, dword [ebp - 0x13bc]
mov ecx, dword [ebp - 0x1478]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1474]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1450]
xor ecx, ecx
mov edx, dword [ebp - 0x13bc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
push 0
lea eax, [ebp - 0xdbc]
push eax
call dword [0x49e154]
test eax, eax
je 0x47ddfe
push dword [ebp - 0x13bc]
push dword [ebp - 0x14a0]
call dword [0x49e20c]
mov dword [ebp - 0x14a8], eax
mov eax, dword [ebp - 0x1500]
add eax, dword [ebp - 0x1438]
push eax
push 0x3000
push dword [ebp - 0x14f0]
push 0
call dword [ebp - 0x14a8]
mov dword [0x4b74f4], eax
and dword [ebp - 0x1554], 0
mov eax, dword [0x4b77f8]
cdq
push 0x2b
pop ecx
idiv ecx
mov ecx, eax
mov eax, dword [0x4b77ec]
cdq
push 6
pop esi
idiv esi
sub ecx, eax
add ecx, dword [0x4b7e08]
mov eax, dword [0x4b77ec]
sub eax, ecx
mov dword [0x4b77ec], eax
cmp dword [0x4b7e0c], 0
je 0x47de43
mov eax, dword [0x4b7bbc]
add eax, dword [0x4b7e08]
mov dword [0x4b7bbc], eax
mov eax, dword [0x4b7bbc]
cmp eax, dword [0x4b74f4]
jge 0x47de70
mov eax, dword [0x4b77b4]
imul eax, dword [0x4b77e8]
imul eax, dword [0x4b74f4]
add eax, dword [0x4b72e4]
mov dword [0x4b72e4], eax
jmp 0x47de95
mov eax, dword [0x4b77ec]
add eax, dword [0x4b74f4]
sub eax, dword [0x4b72e4]
add eax, dword [0x4b7e08]
mov ecx, dword [0x4b77e8]
sub ecx, eax
mov dword [0x4b77e8], ecx
mov eax, dword [0x4b77f4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [0x4b7bbc]
sub ecx, eax
add ecx, dword [0x4b7604]
sub ecx, dword [0x4b77fc]
sub ecx, dword [0x4b74f0]
mov eax, dword [0x4b72e4]
sub eax, ecx
mov dword [0x4b72e4], eax
mov ecx, dword [0x4b71cc]
add ecx, 0x32
mov eax, dword [0x4b77e8]
cdq
idiv ecx
mov ecx, dword [0x4b7e10]
sub ecx, eax
cmp ecx, dword [0x4b72e4]
jle 0x47df03
mov eax, dword [0x4b7bbc]
add eax, dword [0x4b6074]
mov ecx, dword [0x4b7bbc]
sub ecx, eax
mov dword [0x4b7bbc], ecx
cmp dword [0x4b71d8], 0
je 0x47df18
mov eax, dword [0x4b72e4]
mov dword [0x4b77ec], eax
jmp 0x47df49
mov eax, dword [0x4b71d0]
sub eax, dword [0x4b77e8]
mov ecx, dword [0x4b77f4]
imul ecx, dword [0x4b77b4]
add eax, ecx
movzx ecx, byte [0x4b7e14]
sub eax, ecx
mov ecx, dword [0x4b72e4]
sub ecx, eax
mov dword [0x4b72e4], ecx
and dword [ebp - 0x1440], 0
mov dword [ebp - 0x1444], 1
mov eax, dword [ebp - 0x143c]
mov dword [ebp - 0x1550], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x13e8], eax
and dword [ebp - 0x1398], 0
mov dword [ebp - 0x1394], 3
mov dword [ebp - 0x13dc], 1
mov dword [ebp - 0x13ec], 1
and dword [ebp - 0x13e4], 0
and dword [ebp - 0x13a0], 0
and dword [ebp - 0x139c], 0
mov dword [ebp - 0x154c], 0xa
mov dword [ebp - 0x14e8], 0x4b74f8
mov eax, dword [0x4b7bbc]
mov dword [ebp - 0x14e4], eax
mov eax, dword [0x4b7cc4]
mov dword [ebp - 0x14dc], eax
mov eax, dword [0x4b74f4]
mov dword [0x4b7608], eax
mov eax, dword [0x4b74f0]
add eax, dword [0x4b77b4]
add eax, dword [ebp - 0x13ec]
mov ecx, dword [0x4b71cc]
lea eax, [ecx + eax*2]
mov dword [0x4b6074], eax
mov eax, dword [ebp - 0x13dc]
imul eax, dword [ebp - 0x1394]
mov ecx, dword [0x4b6074]
sub ecx, eax
add ecx, dword [0x4b72e4]
mov dword [0x4b72e4], ecx
push 0x4a559c
call dword [0x49e200]
mov dword [ebp - 0x13e0], eax
cmp dword [0x4b7e10], 0
je 0x47e048
push 0x4a55a4
call dword [0x49e06c]
mov dword [ebp - 0x13e0], eax
push 0x12
push 0
lea eax, [ebp - 0xdd0]
push eax
call fcn.00483bf0
add esp, 0xc
xor eax, eax
inc eax
mov word [ebp - 0xdd0], ax
xor eax, eax
inc eax
mov word [ebp - 0xdce], ax
mov eax, dword [0x4a55bc]
mov dword [ebp - 0x2b0], eax
push 0x100
push 0
lea eax, [ebp - 0x2ac]
push eax
call fcn.00483bf0
add esp, 0xc
mov dword [ebp - 0xdcc], 0xac44
push 0x10
pop eax
mov word [ebp - 0xdc2], ax
movzx eax, word [ebp - 0xdce]
movzx ecx, word [ebp - 0xdc2]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [ebp - 0xdc4], ax
mov eax, dword [0x4b71d8]
imul eax, dword [ebp - 0x13e4]
mov ecx, dword [ebp - 0x1440]
imul ecx, dword [0x4b7cc4]
add eax, ecx
mov ecx, dword [0x4b71d4]
imul ecx, dword [ebp - 0x1394]
add eax, dword [0x4b75fc]
lea eax, [ecx + eax + 5]
mov dword [ebp - 0x1398], eax
movzx eax, word [ebp - 0xdc4]
imul eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xdc8], eax
push 0x12
pop eax
mov word [ebp - 0xdc0], ax
cmp dword [ebp - 0x139c], 0
jne 0x47e198
cmp dword [ebp - 0x13a0], 0
jne 0x47e198
mov eax, dword [ebp - 0x13a0]
add eax, dword [ebp - 0x1394]
mov ecx, dword [0x4b77b4]
lea eax, [ecx + eax*4]
add eax, dword [ebp - 0x139c]
mov dword [ebp - 0x1444], eax
mov eax, dword [0x4b7bbc]
sub eax, dword [ebp - 0x1398]
add eax, dword [ebp - 0x13dc]
mov ecx, dword [0x4b71d4]
lea eax, [eax + ecx*2]
sub eax, dword [0x4b71cc]
add eax, 0xa
imul eax, dword [0x4b72e4]
mov dword [0x4b72e4], eax
push 0x4a55c0
push 0x104
lea eax, [ebp - 0x2b0]
push eax
call fcn.0048d592
add esp, 0xc
jmp 0x47e1e8
push 0x20
push 0
lea eax, [ebp - 0x1574]
push eax
call fcn.00483bf0
add esp, 0xc
mov eax, dword [0x4b71d4]
sub eax, dword [0x4b71cc]
add eax, dword [0x4b7e10]
imul eax, dword [ebp - 0x13a0]
add eax, dword [0x4b75fc]
mov dword [ebp - 0x13e8], eax
push 0x4a55c4
push 0x104
lea eax, [ebp - 0x2b0]
push eax
call fcn.0048d538
add esp, 0xc
push 0
push 0
push 0
lea eax, [ebp - 0xdd0]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x13c4]
push eax
call dword [0x49e34c]
mov dword [ebp - 0x13c0], eax
lea eax, [ebp - 0x2b0]
push eax
push dword [ebp - 0x13e0]
call dword [0x49e20c]
mov dword [ebp - 0x14e0], eax
mov eax, dword [0x4b72e4]
inc eax
cmp dword [ebp - 0x13e4], eax
jge 0x47e247
mov eax, dword [0x4b7e10]
add eax, dword [ebp - 0x1394]
add eax, dword [ebp - 0x139c]
mov dword [0x4b72e4], eax
mov eax, dword [ebp - 0x14e8]
mov dword [ebp - 0x1574], eax
mov eax, dword [ebp - 0x14e4]
mov dword [ebp - 0x1570], eax
push dword [ebp - 0x1398]
push 0x4b5928
push dword [0x4b7608]
call dword [ebp - 0x14e0]
add esp, 0xc
mov eax, dword [ebp - 0x14dc]
mov dword [ebp - 0x1560], eax
mov dword [ebp - 0x14d8], 0xab
push 0x20
lea eax, [ebp - 0x1574]
push eax
push dword [ebp - 0x13c4]
call dword [0x49e354]
mov dword [ebp - 0x13c0], eax
mov eax, dword [ebp - 0x1564]
or eax, 0xc
mov dword [ebp - 0x1564], eax
mov eax, dword [0x4b7e08]
add eax, dword [0x4b75fc]
add eax, dword [ebp - 0x14d8]
push eax
mov eax, dword [ebp - 0x1398]
add eax, dword [ebp - 0x139c]
push eax
push dword [0x4b7608]
call fcn.0047c92f
mov eax, dword [0x4b7cc4]
add eax, dword [0x4b74f0]
cmp dword [0x4b7bbc], eax
jge 0x47e301
mov eax, dword [0x4b74f0]
mov dword [ebp - 0x13e8], eax
mov eax, dword [0x4b71cc]
mov ecx, dword [ebp - 0x13a0]
lea eax, [ecx + eax + 4]
mov ecx, dword [0x4b7cc4]
sub ecx, eax
add ecx, dword [0x4b7cc4]
mov dword [0x4b7cc4], ecx
mov eax, dword [0x4b74f0]
cmp eax, dword [ebp - 0x13ec]
je 0x47e33c
mov eax, dword [0x4b7608]
lea ecx, [ebp + 8]
mov dword [eax + 1], ecx
push 0x20
lea eax, [ebp - 0x1574]
push eax
push dword [ebp - 0x13c4]
call dword [0x49e358]
mov dword [ebp - 0x13c0], eax
cmp dword [ebp - 0x13c0], 0
jne 0x47e36b
push 0x4a55cc
call fcn.0040aa77
pop ecx
push dword [ebp - 0x13c4]
call dword [0x49e350]
movzx eax, word [0x4b72e4]
imul eax, dword [0x4b77f8]
test eax, eax
je 0x47e3b3
mov eax, dword [0x4b7cc4]
imul eax, dword [0x4b77e0]
mov ecx, dword [0x4b7e0c]
add ecx, 0x5a
cdq
idiv ecx
imul eax, dword [0x4b77c0]
add eax, dword [0x4b77cc]
mov dword [0x4b77cc], eax
mov eax, dword [0x4b75fc]
cdq
push 0x17
pop ecx
idiv ecx
add eax, dword [0x4b7604]
sub eax, dword [0x4b74f0]
sub eax, dword [0x4b7e08]
mov ecx, dword [0x4b77fc]
sub ecx, dword [0x4b72e4]
cmp eax, ecx
jle 0x47e3f0
mov eax, dword [0x4b77f8]
sub eax, dword [0x4b75fc]
mov dword [0x4b77f8], eax
mov eax, dword [0x4b77f4]
add eax, dword [0x4b7e08]
je 0x47e423
movzx eax, word [0x4b77ec]
mov ecx, dword [0x4b71d0]
imul ecx, dword [0x4b77f4]
add eax, ecx
mov ecx, dword [0x4b77e8]
sub ecx, eax
mov dword [0x4b77e8], ecx
jmp 0x47e476
mov eax, dword [0x4b7cc4]
cdq
and edx, 0xf
add eax, edx
mov ecx, eax
sar ecx, 4
add ecx, dword [0x4b77ec]
movzx eax, word [0x4b77e8]
mov esi, dword [0x4b71d8]
add esi, 0x58
cdq
idiv esi
movzx edx, word [0x4b77f4]
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
sub ecx, eax
add ecx, dword [0x4b77f8]
movzx eax, byte [0x4b71d8]
add ecx, eax
mov dword [0x4b7bbc], ecx
mov eax, dword [0x4b71cc]
mov dword [ebp - 0x1548], eax
mov eax, dword [0x4b7cc4]
mov dword [ebp - 0x1538], eax
and dword [ebp - 0x152c], 0
mov dword [ebp - 0xf00], 0x3c
and dword [ebp - 0x1528], 0
mov eax, dword [0x4b74f0]
mov dword [ebp - 0x1524], eax
mov eax, dword [0x4b760c]
inc eax
mov dword [ebp - 0x1520], eax
mov eax, dword [0x4b6074]
add eax, dword [0x4b72e4]
mov dword [ebp - 0x1544], eax
mov eax, dword [0x4b7bbc]
sub eax, dword [0x4b7cc4]
mov dword [ebp - 0x15b0], eax
mov eax, dword [0x4b71cc]
mov dword [ebp - 0x13a4], eax
mov eax, dword [0x4b6074]
mov dword [ebp - 0x13f8], eax
mov dword [ebp - 0x1370], 0xc8
mov eax, dword [0x4b74f0]
mov dword [ebp - 0x1388], eax
push dword [0x4b7bbc]
push dword [ebp - 0x13a4]
call dword [0x49e2b0]
mov dword [ebp - 0x13b8], eax
and dword [ebp - 0x1364], 0
and dword [ebp - 0x1508], 0
and dword [ebp - 0x1504], 0
lea eax, [ebp - 0x4b8]
push eax
call fcn.0048f1dc
pop ecx
push 0
push 0
push 0xb
push dword [ebp - 0x13b8]
call dword [0x49e2dc]
push 0x4a55e0
lea eax, [ebp - 0x4b8]
push eax
call fcn.00484540
pop ecx
pop ecx
test eax, eax
je 0x47e682
mov eax, dword [0x4b75fc]
mov dword [ebp - 0x1360], eax
cmp dword [ebp - 0x1360], 0
jne 0x47e588
jmp 0x47e67d
cmp dword [ebp - 0x1360], 0
jle 0x47e678
mov eax, dword [ebp - 0x1370]
dec eax
cmp dword [ebp - 0x1360], eax
jle 0x47e5b3
mov eax, dword [ebp - 0x1370]
dec eax
mov dword [ebp - 0x1378], eax
jmp 0x47e5bf
mov eax, dword [ebp - 0x1360]
mov dword [ebp - 0x1378], eax
push 0
push dword [ebp - 0x1378]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x13f8]
call dword [0x49e378]
mov dword [ebp - 0x1364], eax
cmp dword [ebp - 0x1364], 0
je 0x47e5f2
cmp dword [ebp - 0x1364], 0xffffffff
jne 0x47e5fc
jmp 0x47e87e
mov eax, dword [ebp - 0x1364]
mov dword [ebp - 0x13f0], eax
cmp dword [ebp - 0x13f0], 0x104
jae 0x47e616
jmp 0x47e61b
call fcn.004816a8
mov eax, dword [ebp - 0x13f0]
mov byte [ebp + eax - 0x1ac], 0
cmp dword [ebp - 0x1388], 0xffffffff
je 0x47e656
push 0
lea eax, [ebp - 0x14d4]
push eax
push dword [ebp - 0x1364]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1388]
call dword [0x49e0f8]
jmp 0x47e661
mov eax, dword [0x4b6074]
inc eax
mov dword [0x4b6074], eax
mov eax, dword [ebp - 0x1360]
sub eax, dword [ebp - 0x1364]
mov dword [ebp - 0x1360], eax
jmp 0x47e588
jmp 0x47e56f
jmp 0x47e87e
push 0x4a55ec
lea eax, [ebp - 0x4b8]
push eax
call fcn.00484540
pop ecx
pop ecx
mov dword [ebp - 0x13f4], eax
cmp dword [ebp - 0x13f4], 0
je 0x47e730
push 0xa
push 0
mov eax, dword [ebp - 0x13f4]
add eax, 0x10
push eax
call fcn.00487744
add esp, 0xc
mov dword [ebp - 0x1360], eax
cmp dword [ebp - 0x1388], 0xffffffff
je 0x47e72e
push 5
push dword [0x4b75fc]
push dword [ebp - 0x13a4]
call dword [0x49e2b0]
push eax
call dword [0x49e29c]
mov eax, dword [ebp - 0x1370]
mov ecx, dword [ebp - 0x1360]
lea eax, [ecx + eax - 2]
mov ecx, dword [ebp - 0x1370]
dec ecx
cdq
idiv ecx
and eax, 0xffff
movzx eax, ax
shl eax, 0x10
push eax
push 0
push 0x401
push dword [0x4b74f0]
push dword [ebp - 0x13a4]
call dword [0x49e2b0]
push eax
call dword [0x49e2dc]
jmp 0x47e737
and dword [ebp - 0x1360], 0
and dword [ebp - 0x1384], 0
cmp dword [ebp - 0x1360], 0
jne 0x47e756
mov eax, dword [ebp - 0x1370]
dec eax
mov dword [ebp - 0x1378], eax
jmp 0x47e784
mov eax, dword [ebp - 0x1360]
sub eax, dword [ebp - 0x1384]
mov dword [ebp - 0x1378], eax
mov eax, dword [ebp - 0x1370]
dec eax
cmp dword [ebp - 0x1378], eax
jle 0x47e784
mov eax, dword [ebp - 0x1370]
dec eax
mov dword [ebp - 0x1378], eax
push 0
push dword [ebp - 0x1378]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x13f8]
call dword [0x49e378]
mov dword [ebp - 0x1364], eax
cmp dword [ebp - 0x1364], 0
je 0x47e7b7
cmp dword [ebp - 0x1364], 0xffffffff
jne 0x47e7bc
jmp 0x47e87e
mov eax, dword [ebp - 0x1384]
add eax, dword [ebp - 0x1364]
mov dword [ebp - 0x1384], eax
mov eax, dword [ebp - 0x1364]
mov dword [ebp - 0x13fc], eax
cmp dword [ebp - 0x13fc], 0x104
jae 0x47e7e8
jmp 0x47e7ed
call fcn.004816a8
mov eax, dword [ebp - 0x13fc]
mov byte [ebp + eax - 0x1ac], 0
cmp dword [ebp - 0x1388], 0xffffffff
je 0x47e859
push 0
mov ecx, dword [ebp - 0x1370]
dec ecx
mov eax, dword [ebp - 0x1384]
cdq
idiv ecx
push eax
push 0x402
push dword [0x4b6074]
push dword [ebp - 0x13a4]
call dword [0x49e2b0]
push eax
call dword [0x49e2dc]
push 0
lea eax, [ebp - 0x14d4]
push eax
push dword [ebp - 0x1364]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1388]
call dword [0x49e0f8]
jmp 0x47e860
and dword [0x4b6074], 0
cmp dword [ebp - 0x1360], 0
je 0x47e879
mov eax, dword [ebp - 0x1384]
cmp eax, dword [ebp - 0x1360]
jl 0x47e879
jmp 0x47e87e
jmp 0x47e73e
lea eax, [ebp - 0x1508]
push eax
push 0
push 0x4de
push dword [ebp - 0x13b8]
call dword [0x49e2dc]
push 0
push 1
push 0xb
push dword [ebp - 0x13b8]
call dword [0x49e2dc]
push 0
push 0
push dword [ebp - 0x13b8]
call dword [0x49e2fc]
mov eax, dword [0x4b6074]
mov dword [ebp - 0x14b8], eax
mov eax, dword [0x4b72e4]
mov dword [ebp - 0x14bc], eax
mov eax, dword [0x4b7bbc]
mov dword [ebp - 0x14c0], eax
mov eax, dword [0x4b7cc4]
mov dword [ebp - 0x14c4], eax
mov eax, dword [0x4b74f0]
mov dword [ebp - 0x14c8], eax
mov eax, dword [0x4b7bbc]
mov dword [ebp - 0x14d0], eax
and dword [ebp - 0x14cc], 0
mov eax, dword [0x4b760c]
mov dword [ebp - 0x1380], eax
push dword [ebp - 0x14d0]
push dword [ebp - 0x14cc]
push 0
call dword [0x49e02c]
mov dword [ebp - 0x1464], eax
push dword [ebp - 0x14c8]
call dword [0x49e028]
mov dword [ebp - 0x1468], eax
push dword [ebp - 0x15ac]
push dword [ebp - 0x1380]
call dword [0x49e014]
mov dword [ebp - 0x14b4], eax
push dword [ebp - 0x15a8]
push dword [ebp - 0x1380]
call dword [0x49e014]
mov dword [ebp - 0x14b0], eax
push dword [ebp - 0x14c4]
push dword [ebp - 0x14c0]
push dword [ebp - 0x14bc]
push dword [ebp - 0x14b8]
push dword [ebp - 0x1380]
call dword [0x49e018]
push dword [ebp - 0x14b4]
push dword [ebp - 0x1380]
call dword [0x49e014]
push dword [ebp - 0x14b0]
push dword [ebp - 0x1380]
call dword [0x49e014]
push dword [ebp - 0x1464]
call dword [0x49e024]
push dword [ebp - 0x1468]
call dword [0x49e024]
and dword [ebp - 0x15a4], 0
and dword [ebp - 0x146c], 0
call dword [0x49e210]
mov dword [ebp - 0x1400], eax
cmp dword [0x4b75fc], 0
je 0x47ea32
push 0x4a55f8
call dword [0x49e148]
mov dword [ebp - 0x15a0], eax
push 1
push 0
push dword [ebp - 0x1400]
call dword [0x49e388]
test eax, eax
jne 0x47ea32
mov eax, 0x4a5604
test eax, eax
je 0x47ea32
push 0xcf4
push 0x4a5670
push 0x4a561c
call fcn.0048ca87
add esp, 0xc
mov dword [ebp - 0xde8], 0x18
and dword [ebp - 0xdd8], 0
lea eax, [ebp - 0x135c]
push eax
call dword [0x49e128]
and dword [ebp - 0x1368], 0
cmp dword [0x4b74f0], 0
je 0x47eb9d
xor eax, eax
inc eax
je 0x47eb9d
cmp dword [ebp - 0x1368], 0
jle 0x47eabd
mov eax, dword [ebp - 0x1368]
dec eax
jns 0x47ea96
push 0xcf4
push 0x4a5710
push 0x4a564c
call fcn.0048ca87
add esp, 0xc
mov eax, dword [ebp - 0x1368]
dec eax
js 0x47eab6
push 0xcf4
push 0x4a5790
push 0x4a5818
call fcn.0048ca87
add esp, 0xc
and dword [0x4b7bbc], 0
cmp dword [0x4b7bbc], 0
jne 0x47ead0
mov eax, dword [0x4b7cc4]
mov dword [0x4b7bbc], eax
mov eax, dword [ebp - 0x1368]
cmp eax, dword [ebp - 0x146c]
jne 0x47eb8b
mov eax, dword [ebp - 0x1368]
dec eax
jns 0x47eb02
push 0xcf4
push 0x4a5860
push 0x4a56ec
call fcn.0048ca87
add esp, 0xc
mov eax, dword [ebp - 0x1368]
dec eax
js 0x47eb22
push 0xcf4
push 0x4a58f0
push 0x4a5980
call fcn.0048ca87
add esp, 0xc
cmp dword [ebp - 0xdd8], 0
je 0x47eb42
push 0xcf4
push 0x4a59c8
push 0x4a5a44
call fcn.0048ca87
add esp, 0xc
cmp dword [0x4b7cc4], 0
je 0x47eb57
mov eax, dword [0x4b72e4]
mov dword [0x4b6074], eax
jmp 0x47eb80
lea eax, [ebp - 0xde8]
push eax
push 0
push dword [0x4b6074]
push dword [ebp - 0x1400]
call dword [0x49e38c]
test eax, eax
je 0x47eb80
mov eax, dword [0x4b7cc4]
mov dword [0x4b7bbc], eax
mov eax, dword [ebp - 0x1368]
jmp 0x47f387
mov eax, dword [ebp - 0x1368]
inc eax
mov dword [ebp - 0x1368], eax
jmp 0x47ea64
and dword [ebp - 0x1428], 0
and dword [ebp - 0x1424], 0
push 0x4a5a74
call dword [0x49e148]
mov dword [ebp - 0x1404], eax
cmp dword [ebp - 0x1404], 0
je 0x47ec1e
push 0x4b74f8
push dword [ebp - 0x1404]
call dword [0x49e20c]
mov dword [ebp - 0x1408], eax
cmp dword [ebp - 0x1408], 0
je 0x47ec1e
push 0
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x1510]
push eax
lea eax, [ebp - 0x3b4]
push eax
call dword [ebp - 0x1408]
test eax, eax
je 0x47ec1e
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1428], eax
mov eax, dword [ebp - 0x150c]
mov dword [ebp - 0x1424], eax
lea eax, [ebp - 0x3b4]
test eax, eax
je 0x47ec8b
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x3b4]
push eax
call fcn.0048d91d
add esp, 0x14
xor eax, eax
inc eax
imul eax, eax, 0
movsx eax, byte [ebp + eax - 0x1c]
test eax, eax
jne 0x47ec7b
lea eax, [ebp - 0x6bc]
push eax
push 0x104
call dword [0x49e150]
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x6bc]
push eax
call fcn.0048d91d
add esp, 0x14
push 0x4a578c
lea eax, [ebp - 0x1c]
push eax
call fcn.0048d610
pop ecx
pop ecx
lea eax, [ebp - 0x1584]
push eax
lea eax, [ebp - 0x14a4]
push eax
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x14ac]
push eax
lea eax, [ebp - 0x3b4]
push eax
call dword [0x49e0a0]
test eax, eax
je 0x47ece1
mov eax, dword [ebp - 0x14a4]
mul dword [ebp - 0x14ac]
mov ecx, dword [ebp - 0x1460]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.00481180
mov dword [ebp - 0x1428], eax
mov dword [ebp - 0x1424], edx
mov eax, dword [0x4b77e8]
cdq
push 0xc
pop ecx
idiv ecx
add eax, dword [0x4b7e14]
add eax, dword [0x4b71d8]
add eax, dword [0x4b7bbc]
mov ecx, dword [0x4b77ec]
sub ecx, eax
mov dword [0x4b77ec], ecx
mov eax, dword [0x4b71cc]
mov dword [ebp - 0x1530], eax
mov eax, dword [0x4b7cc4]
mov dword [ebp - 0x1534], eax
and dword [ebp - 0x153c], 0
mov dword [ebp - 0xec4], 0x3c
and dword [ebp - 0x1540], 0
mov eax, dword [0x4b74f0]
mov dword [ebp - 0x1578], eax
mov eax, dword [0x4b760c]
inc eax
mov dword [ebp - 0x157c], eax
mov eax, dword [0x4b6074]
add eax, dword [0x4b72e4]
mov dword [ebp - 0x1580], eax
mov eax, dword [0x4b7bbc]
sub eax, dword [0x4b7cc4]
mov dword [ebp - 0x1588], eax
mov dword [ebp - 0xe88], 0x94
lea eax, [ebp - 0xe88]
push eax
call dword [0x49e084]
cmp dword [ebp - 0xe78], 2
jne 0x47ed9d
mov eax, dword [0x4b72e4]
mov dword [0x4b6074], eax
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [eax + 0x4b74f8], 0x5c
xor eax, eax
inc eax
shl eax, 0
mov byte [eax + 0x4b74f8], 0x5c
xor eax, eax
inc eax
shl eax, 1
mov byte [eax + 0x4b74f8], 0x5c
mov dword [ebp - 0x1448], 0x4b74f8
and dword [ebp - 0x144c], 0
cmp dword [0x4b7e3c], 0
jne 0x47ee14
push 0x4a580c
call dword [0x49e200]
mov dword [ebp - 0x140c], eax
cmp dword [ebp - 0x140c], 0
jne 0x47edfe
and dword [0x4b7cc4], 0
push 0x4a58dc
push dword [ebp - 0x140c]
call dword [0x49e20c]
mov dword [0x4b7e3c], eax
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
push dword [ebp - 0x1448]
call dword [0x49e08c]
mov dword [ebp - 0x13c8], eax
cmp dword [ebp - 0x13c8], 0xffffffff
jne 0x47eea9
call dword [0x49e110]
mov dword [ebp - 0x151c], eax
mov eax, dword [ebp - 0x158c]
mov dword [ebp - 0x1518], eax
mov dword [ebp - 0x1514], 1
push 0
push 0
lea eax, [ebp - 0x151c]
push eax
push dword [ebp - 0x144c]
push dword [ebp - 0x13c8]
call dword [0x49e048]
push eax
call dword [0x49e210]
push eax
call dword [0x4b7e3c]
test eax, eax
jne 0x47ee9d
push 0x4a596c
call dword [0x49e0ec]
push dword [ebp - 0x13c8]
call dword [0x49e074]
cmp dword [0x4b7e10], 0
je 0x47f154
mov dword [ebp - 0x136c], 0x4b74f8
lea eax, [ebp - 0x1090]
push eax
push 0x101
call dword [0x49e36c]
and dword [ebp - 0x13ac], 0
and dword [ebp - 0x13d0], 0
mov eax, dword [ebp - 0x136c]
mov byte [eax], 0
push 0x64
lea eax, [ebp - 0xa8]
push eax
call dword [0x49e37c]
mov dword [ebp - 0x1470], eax
cmp dword [ebp - 0x1470], 0
jne 0x47ef1d
push 0x4a54be
lea eax, [ebp - 0xa8]
push eax
call dword [0x49e13c]
test eax, eax
jne 0x47ef27
mov dword [0x4b6074], 1
lea eax, [ebp - 0xa8]
push eax
call dword [0x49e370]
mov dword [ebp - 0x1410], eax
cmp dword [ebp - 0x1410], 0
jne 0x47ef4a
and dword [0x4b72e4], 0
mov eax, dword [ebp - 0x13d0]
inc eax
mov dword [ebp - 0x13d0], eax
mov eax, dword [ebp - 0x1410]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1414], eax
mov eax, dword [ebp - 0x13ac]
mov ecx, dword [ebp - 0x1414]
lea eax, [ecx + eax*4]
test eax, eax
jne 0x47ef83
mov dword [0x4b7bbc], 1
mov eax, dword [ebp - 0x13ac]
mov ecx, dword [ebp - 0x1414]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x13cc], eax
cmp dword [ebp - 0x13cc], 0
jne 0x47efa8
and dword [0x4b7cc4], 0
mov eax, dword [ebp - 0x13cc]
push dword [eax]
call dword [0x49e374]
mov dword [ebp - 0x13a8], eax
mov eax, dword [ebp - 0x13a8]
and eax, 0xff000000
shr eax, 0x18
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
mov byte [ebp + ecx - 0x1374], al
push 0xa
lea eax, [ebp - 0xc]
push eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x1374]
push eax
call fcn.0048f3d4
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
mov eax, dword [ebp - 0x13a8]
and eax, 0xff0000
shr eax, 0x10
xor ecx, ecx
inc ecx
shl ecx, 0
mov byte [ebp + ecx - 0x1374], al
push 0xa
lea eax, [ebp - 0xc]
push eax
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x1374]
push eax
call fcn.0048f3d4
add esp, 0xc
push 0x4a5a84
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
mov eax, dword [ebp - 0x13a8]
and eax, 0xff00
shr eax, 8
xor ecx, ecx
inc ecx
shl ecx, 1
mov byte [ebp + ecx - 0x1374], al
push 0xa
lea eax, [ebp - 0xc]
push eax
xor eax, eax
inc eax
shl eax, 1
movzx eax, byte [ebp + eax - 0x1374]
push eax
call fcn.0048f3d4
add esp, 0xc
push 0x4a5a88
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
mov eax, dword [ebp - 0x13a8]
and eax, 0xff
xor ecx, ecx
inc ecx
imul ecx, ecx, 3
mov byte [ebp + ecx - 0x1374], al
push 0xa
lea eax, [ebp - 0xc]
push eax
xor eax, eax
inc eax
imul eax, eax, 3
movzx eax, byte [ebp + eax - 0x1374]
push eax
call fcn.0048f3d4
add esp, 0xc
push 0x4a5a8c
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
push 0x4a5a90
push dword [ebp - 0x136c]
call fcn.0048d610
pop ecx
pop ecx
mov eax, dword [ebp - 0x13ac]
inc eax
mov dword [ebp - 0x13ac], eax
cmp dword [ebp - 0x13cc], 0
je 0x47f146
cmp dword [ebp - 0x13d0], 6
jl 0x47ef4a
call dword [0x49e380]
push 0
call dword [0x49e2a4]
and dword [ebp - 0x13d4], 0
mov dword [ebp - 0x1590], 1
mov dword [ebp - 0x1418], 1
and dword [ebp - 0x13b4], 0
mov dword [ebp - 0x1594], 0x4b74f8
mov al, byte [0x4b74f0]
mov byte [ebp - 0x7bc], al
push 0xff
push 0
lea eax, [ebp - 0x7bb]
push eax
call fcn.00483bf0
add esp, 0xc
mov ax, word [0x4b7e08]
mov word [ebp - 0x9bc], ax
push 0x1fe
push 0
lea eax, [ebp - 0x9ba]
push eax
call fcn.00483bf0
add esp, 0xc
and dword [ebp - 0x145c], 0
mov dword [ebp - 0x1454], 0x100
mov al, byte [0x4b74f0]
mov byte [ebp - 0x5b8], al
push 0xff
push 0
lea eax, [ebp - 0x5b7]
push eax
call fcn.00483bf0
add esp, 0xc
push 7
pop ecx
mov esi, 0x4a5a94
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
lea edi, [ebp - 0x26]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x4b72e4]
cmp eax, dword [0x4b6074]
jle 0x47f26a
lea eax, [ebp - 0x5b8]
mov dword [ebp - 0x1458], eax
push 0x60
push 0
lea eax, [ebp - 0x1618]
push eax
call fcn.00483bf0
add esp, 0xc
cmp dword [0x4b74f0], 0
je 0x47f257
mov eax, dword [0x4b75fc]
mov ecx, dword [0x4b71d0]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x13b4], eax
lea eax, [ebp - 0x1454]
push eax
push dword [ebp - 0x1458]
call dword [0x49e158]
cmp dword [0x4b74f0], 0
jne 0x47f27c
cmp dword [0x4b7e08], 0
je 0x47f293
mov eax, dword [0x4b7bbc]
imul eax, dword [0x4b71d4]
add eax, dword [0x4b7e0c]
mov byte [0x4b6fc8], al
mov dword [ebp - 0x1614], 0x4a5ab4
mov dword [ebp - 0x160c], 1
mov dword [ebp - 0x13b0], 1
jmp 0x47f2c0
mov eax, dword [ebp - 0x13b0]
inc eax
mov dword [ebp - 0x13b0], eax
cmp dword [ebp - 0x13b0], 3
jge 0x47f337
mov dword [ebp - 0x1600], 0x10241
or dword [ebp - 0x15dc], 0xffffffff
cmp dword [0x4b7e08], 0
je 0x47f305
lea eax, [ebp - 0x145c]
push eax
lea eax, [ebp - 0x1618]
push eax
push dword [0x4b74f0]
lea eax, [ebp - 0x9bc]
push eax
call fcn.004825f1
jmp 0x47f332
mov eax, dword [ebp - 0x1418]
cmp eax, dword [ebp - 0x13b0]
jae 0x47f320
mov eax, dword [0x4b7608]
mov dword [ebp - 0x13d4], eax
jmp 0x47f332
mov eax, dword [ebp - 0x1418]
sub eax, dword [ebp - 0x13b4]
mov dword [ebp - 0x13d4], eax
jmp 0x47f2b3
cmp dword [ebp - 0x13b4], 0
jne 0x47f350
mov ecx, dword [ebp - 0x13b4]
add eax, ecx
mov eax, dword [ebp - 0x13d4]
call eax
cmp dword [0x4b74f0], 0
je 0x47f371
lea eax, [ebp - 0xdf4]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
call fcn.004825f7
mov dword [ebp - 0x1598], eax
cmp dword [0x4b7e08], 0
je 0x47f385
push dword [ebp - 0x159c]
call fcn.0048115d
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481163
leave
ret