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

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x6e8
mov edi, dword [ebp + 8]
mov eax, dword [0x4f195c]
xor eax, ebp
mov esi, dword [edi + 4]
mov dword [ebp - 0x10], eax
test esi, esi
je 0x45ca04
mov ebx, dword [esi + 0x6c]
cmp dword [esi + 0xf0], 0
jle 0x45a91f
xor ecx, ecx
lea eax, [esi + 0x98]
mov dword [ebp - 0x664], 1
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x660], edi
test byte [esi + 0x198], 0x20
jne 0x45c8c9
mov edi, dword [ebx + 0x14]
cmp edi, 1
jle 0x459c30
mov ecx, dword [ebx + 0x54]
lea edx, [edi - 1]
mov dword [ebx + 0xa4], ecx
mov ecx, dword [ebx + 0x58]
and ecx, 1
movzx eax, byte [ebx + 0xbc]
add ecx, ecx
and eax, 0xfffffffd
or eax, ecx
mov byte [ebx + 0xbc], al
movzx eax, byte [ebx + 0xbb]
mov dword [ebx + 0x14], edx
test al, 0x10
je 0x459c8f
test al, 0x20
je 0x459c8f
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x690], ecx
movsx ecx, byte [ecx]
cmp ecx, 0x41
jne 0x459bd4
mov ecx, dword [ebp - 0x690]
lea eax, [ecx + 2]
mov dword [ebp + 0xc], eax
movsx ecx, byte [eax]
movzx eax, byte [ebx + 0xbb]
cmp ecx, 2
je 0x45ab6a
and eax, 0xffffffdf
cmp ecx, 1
je 0x45ab42
and eax, 0xffffffbf
mov byte [ebx + 0xbb], al
push esi
mov dword [ebp - 0x68c], edx
call fcn.0046e8c0
mov edx, dword [ebp - 0x68c]
add esp, 4
test eax, eax
jne 0x45aa73
movzx eax, byte [ebx + 0xbb]
test al, 0x10
je 0x459c22
test al, 0x20
jne 0x45aa5a
mov dword [ebx + 0x14], edx
or eax, 0x20
mov byte [ebx + 0xbb], al
jmp 0x459c8f
mov edx, dword [ebp + 0xc]
movsx eax, byte [edx]
cmp eax, 0x41
jne 0x459c44
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
movsx eax, byte [eax]
cmp eax, 2
je 0x45c8a0
movzx edx, byte [ebx + 0xbb]
and edx, 0xffffffdf
cmp eax, 1
je 0x45c878
and edx, 0xffffffbf
mov byte [ebx + 0xbb], dl
push esi
call fcn.0046e8c0
mov edi, eax
add esp, 4
test edi, edi
jne 0x45c7a7
movzx eax, byte [ebx + 0xbb]
test al, 0x10
je 0x459c8f
test al, 0x20
jne 0x45c786
movsx edx, byte [ebx + 0xb4]
cmp edx, 0x12
je 0x45c66b
cmp edx, 2
je 0x45c348
cmp edx, 0x1c
je 0x45a8c9
cmp edx, 0x11
jne 0x459d26
cmp dword [ebp - 0x664], 2
jge 0x45a90c
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 1
je 0x45a919
cmp eax, 2
jne 0x459cf9
mov dword [ebx + 0x14], 2
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push dword [ebp - 0x664]
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0xc]
push edx
call fcn.0046d4a0
add esp, 0xc
cmp eax, 2
je 0x45c9da
cmp eax, 1
je 0x45a919
jmp 0x45a90c
cmp edx, 0x10
je 0x45a90c
cmp dword [ebp - 0x664], 1
jle 0x459e63
mov eax, dword [ebp - 0x304]
add eax, 0xfffffff9
cmp eax, 1
ja 0x459e37
cmp dword [ebp - 0x65c], 0
je 0x459d78
mov eax, dword [ebp - 0x67c]
add dword [ebp - 0x688], eax
dec dword [ebp - 0x664]
mov dword [ebp - 0x65c], 0
jmp 0x45a127
xor eax, eax
cmp dword [ebp - 0x66c], 0
mov edx, dword [ebp - 0x300]
setne al
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x6a8], edx
test edx, edx
jle 0x459e0f
mov eax, edx
mov edx, eax
shr edx, 0x1f
xor ecx, ecx
add edx, eax
sar edx, 1
test edx, edx
jbe 0x45ab8c
xor eax, eax
mov edi, dword [ebp + eax*8 - 0x184]
sub edi, dword [ebp + eax*8 - 0x108]
imul edi, dword [ebp + eax*8 - 0x8c]
add ecx, edi
mov edi, dword [ebp + eax*8 - 0x180]
sub edi, dword [ebp + eax*8 - 0x104]
imul edi, dword [ebp + eax*8 - 0x88]
inc eax
add ecx, edi
cmp eax, edx
jb 0x459db1
lea edx, [eax + eax + 1]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x6a8]
jae 0x459e11
mov eax, dword [ebp + edx*4 - 0x188]
sub eax, dword [ebp + edx*4 - 0x10c]
imul eax, dword [ebp + edx*4 - 0x90]
add ecx, eax
jmp 0x459e11
xor ecx, ecx
add ecx, dword [ebp - 0x2fc]
lea eax, [ebp - 0x304]
push eax
mov dword [ebp - 0x688], ecx
lea edx, [ebp - 0x184]
push edx
push 0
call fcn.0046f750
add esp, 0xc
jmp 0x459e58
mov eax, dword [ebp - 0x65c]
test eax, eax
mov edi, dword [ebp - 0x67c]
je 0x459e4c
mov eax, 0
add dword [ebp - 0x688], edi
mov dword [ebp - 0x65c], eax
dec dword [ebp - 0x664]
jmp 0x45a127
lea eax, [ebp - 0x304]
push eax
lea edx, [ebp - 0x688]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea edi, [ebp + 0xc]
push edi
call fcn.0046d580
add esp, 0x10
test eax, eax
jne 0x45c0ee
mov eax, dword [ebp - 0x680]
cmp eax, 2
je 0x45c0c6
cmp eax, 1
je 0x45a919
cmp eax, 0x41
je 0x45c013
mov edx, dword [ebp - 0x304]
lea eax, [edx - 7]
cmp eax, 1
ja 0x45a095
mov ecx, dword [ebp - 0x67c]
test ecx, ecx
je 0x459ed7
mov eax, dword [ebp - 0x684]
cdq
idiv ecx
mov dword [ebp - 0x664], eax
jmp 0x459ef0
test byte [esi + 0x18c], 2
je 0x45a089
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 0
je 0x45a0e8
mov edx, dword [ebp - 0x680]
lea eax, [edx - 0x1c]
cmp eax, 0x10
jbe 0x459f1c
cmp edx, 0x34
je 0x459f1c
mov dword [ebp - 0x66c], 0
jmp 0x459f2d
mov eax, 1
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x6b8], eax
test eax, eax
jle 0x45a05e
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov dword [ebp - 0x6b4], edx
test edx, edx
jbe 0x45aba0
mov dword [ebp - 0x678], esi
xor ecx, ecx
lea eax, [ecx + ecx*2]
mov esi, dword [ebp + eax*8 - 0x2f0]
mov dword [ebp + ecx*8 - 0x8c], esi
mov edi, dword [ebp + eax*8 - 0x2f4]
mov esi, dword [ebp + eax*8 - 0x2e8]
mov eax, dword [ebp + eax*8 - 0x2e4]
mov dword [ebp + ecx*8 - 0x108], edi
mov dword [ebp + ecx*8 - 0x184], edi
mov dword [ebp + ecx*8 - 0x104], esi
mov dword [ebp + ecx*8 - 0x88], eax
mov dword [ebp + ecx*8 - 0x180], esi
inc ecx
cmp ecx, edx
jb 0x459f60
mov esi, dword [ebp - 0x678]
lea eax, [ecx + ecx + 1]
lea edx, [eax - 1]
cmp edx, dword [ebp - 0x6b8]
jae 0x459fe9
lea edx, [eax + eax*2]
mov edi, dword [ebp + edx*4 - 0x300]
mov ecx, dword [ebp + edx*4 - 0x2fc]
mov dword [ebp + eax*4 - 0x10c], edi
mov dword [ebp + eax*4 - 0x90], ecx
mov dword [ebp + eax*4 - 0x188], edi
xor eax, eax
cmp dword [ebp - 0x6b4], 0
jbe 0x45ab96
mov ecx, dword [ebp - 0x6b4]
xor edx, edx
mov edi, dword [ebp + edx*8 - 0x184]
sub edi, dword [ebp + edx*8 - 0x108]
imul edi, dword [ebp + edx*8 - 0x8c]
add eax, edi
mov edi, dword [ebp + edx*8 - 0x180]
sub edi, dword [ebp + edx*8 - 0x104]
imul edi, dword [ebp + edx*8 - 0x88]
inc edx
add eax, edi
cmp edx, ecx
jb 0x45a000
lea ecx, [edx + edx + 1]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0x6b8]
jae 0x45a060
mov edx, dword [ebp + ecx*4 - 0x188]
sub edx, dword [ebp + ecx*4 - 0x10c]
imul edx, dword [ebp + ecx*4 - 0x90]
add eax, edx
jmp 0x45a060
xor eax, eax
add eax, dword [ebp - 0x2fc]
lea edx, [ebp - 0x304]
push edx
mov dword [ebp - 0x688], eax
lea eax, [ebp - 0x184]
push eax
push 0
call fcn.0046f750
add esp, 0xc
jmp 0x45a127
mov dword [ebp - 0x664], 0
jmp 0x45a0e8
add edx, 0xfffffffb
cmp edx, 1
ja 0x45a0f4
movzx edi, byte [esi + 0x18c]
and edi, 2
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0x67c]
shr edi, 1
mov dword [ebp - 0x664], eax
test ecx, ecx
je 0x45a0ce
cdq
idiv ecx
mov dword [ebp - 0x664], eax
test edi, edi
jne 0x45a0df
jmp 0x45a127
test edi, edi
jne 0x45a0d7
mov eax, 0
mov dword [ebp - 0x664], eax
je 0x45a127
cmp dword [ebp - 0x664], 0
jne 0x45a127
mov dword [ebp - 0x668], 1
jmp 0x45a130
mov edx, dword [ebp - 0x680]
lea eax, [edx - 0x1c]
cmp eax, 0x10
jbe 0x45a113
cmp edx, 0x34
je 0x45a113
mov dword [ebp - 0x664], 1
jmp 0x45a127
mov dword [ebp - 0x664], 2
mov dword [ebp - 0x65c], 1
cmp dword [ebp - 0x668], 0
je 0x45a14c
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x45a143
mov dword [ebx + 0x14], 2
jmp 0x45a90c
inc eax
mov dword [ebx + 0x14], eax
jmp 0x45a90c
mov edx, dword [ebp - 0x680]
mov eax, edx
and eax, 0xfffffffd
movsx ecx, byte [ebx + 0xb4]
cmp eax, 0x40
je 0x45b0e2
cmp edx, 0x40
je 0x45afe2
cmp edx, 0x42
je 0x45af36
lea eax, [edx - 0x40]
add edx, 0xffffffbe
or eax, edx
je 0x45a18c
cmp ecx, 0x74
je 0x45ae93
mov eax, dword [ebx]
and byte [ebx + 0xbb], 0xf7
movzx edx, byte [eax + 0x192]
test edx, 0x80
je 0x45a1ca
mov eax, dword [ecx*4 + 0x4ce0e0]
test eax, eax
je 0x45a1ca
mov edx, dword [ebp - 0x680]
movsx eax, byte [eax + edx]
test eax, eax
je 0x45a1ca
mov dword [ebp - 0x680], eax
movsx ecx, byte [ebx + 0xb4]
movzx eax, byte [ebx + 0xbd]
and eax, 0xfffffffb
mov dword [ebp - 0x694], eax
mov byte [ebx + 0xbd], al
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja 0x45a63d
movzx eax, word [eax*2 + 0x4c7680]
add eax, 0x45a1fb
jmp eax
mov ebx, dword [ebp - 0x6a0]
mov edx, dword [esi + 0x84]
test edx, edx
je 0x45a5ac
push dword [esi + 0xa8]
push dword [esi + 0x48]
push edx
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x48]
sub ecx, edx
sub dword [esi + 0x4c], ecx
sub dword [esi + 0x54], ecx
sub dword [esi + 0x58], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0x84], 0
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45abd8
test byte [edx + 0x44], 2
je 0x45abaa
mov dword [edx + 0x38], ebx
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], ebx
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45a5d9
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x45a67f
mov eax, 1
shl eax, cl
mov dword [ebp - 0x6a0], 0
test al, 0x25
je 0x45a67f
mov edx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xa4]
cmp edx, eax
jge 0x45a66c
mov edx, eax
mov dword [ebx + 0xa4], edx
cmp dword [ebp - 0x6a0], 0
jne 0x45a561
mov edi, dword [ebx + 0xa4]
test byte [ebx + 0xbc], 2
je 0x45a7d5
test edi, edi
jle 0x45a6aa
movsx eax, word [ebx + 0xac]
cmp eax, edi
jle 0x45a6aa
lea edi, [eax + 1]
mov dword [ebx + 0xa4], edi
cmp edi, 0x40
ja 0x45a6c7
mov dword [ebp - 0x6a4], 0
lea eax, [ebp - 0x344]
mov dword [ebp - 0x698], eax
jmp 0x45a6ed
lea eax, [ebp - 0x698]
push eax
push 0
push edi
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45ac87
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0x6a4], eax
push dword [ebx + 0xa4]
push 0x20
push eax
call fcn.004a08c0
push dword [ebp - 0x698]
push ebx
lea eax, [ebp - 0x688]
push eax
call fcn.0046f8c0
add esp, 0x18
test eax, eax
je 0x45a72e
cmp eax, 0x3f
jne 0x45abfb
test byte [esi + 0x193], 8
jne 0x45a72e
mov dword [ebx + 0x18], 0x3f
mov edi, dword [ebx + 0xa4]
test edi, edi
je 0x45a759
mov eax, dword [ebp - 0x698]
cmp byte [eax], 0x20
jne 0x45a75f
inc eax
mov dword [ebp - 0x698], eax
mov edi, dword [ebx + 0xa4]
dec edi
mov dword [ebx + 0xa4], edi
jne 0x45a738
mov eax, dword [ebp - 0x698]
movsx edx, byte [eax]
cmp edx, 0x2b
je 0x45a76c
cmp edx, 0x2d
jne 0x45a778
mov dword [ebp - 0x6ac], 1
jmp 0x45a782
mov dword [ebp - 0x6ac], 0
cmp edi, 8
jb 0x45a7b0
push 8
push str.Infinity
add eax, dword [ebp - 0x6ac]
push eax
call fcn.004ad5d0
add esp, 0xc
test eax, eax
jne 0x45a7b0
mov eax, dword [ebp - 0x6ac]
lea edi, [eax + 3]
mov dword [ebx + 0xa4], edi
test edi, edi
jne 0x45a7d5
movsx eax, word [ebx + 0xac]
test eax, eax
jne 0x45a7d5
mov dword [ebx + 0xa4], 1
dec dword [ebp - 0x698]
mov edi, dword [ebx + 0xa4]
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x69c], eax
lea edx, [edi + eax]
cmp edx, dword [esi + 0x54]
ja 0x45adab
movzx eax, byte [ebx + 0xbc]
test al, 2
je 0x45a88b
test edi, edi
jne 0x45a830
and eax, 0xfffffffd
mov byte [ebx + 0xbc], al
mov dword [ebx + 0xa4], 0
cmp dword [ebp - 0x6a4], 0
je 0x45a90c
push dword [ebp - 0x6a4]
call fcn.00460cc0
add esp, 4
jmp 0x45a90c
mov edi, dword [ebp - 0x698]
mov edx, dword [ebp - 0x69c]
movzx eax, byte [edi]
mov byte [edx], al
inc dword [esi + 0x4c]
inc dword [ebp - 0x698]
mov eax, dword [ebx + 0xa4]
dec eax
je 0x45ad13
mov dword [ebx + 0xa4], eax
mov eax, dword [ebp - 0x698]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x45ad13
mov edx, dword [esi + 0x4c]
mov byte [edx], al
inc dword [esi + 0x4c]
inc dword [ebp - 0x698]
mov eax, dword [ebx + 0xa4]
dec eax
jne 0x45a857
jmp 0x45ad13
push dword [ebp - 0x69c]
push ebx
lea eax, [ebp - 0x688]
push eax
call fcn.0046f8c0
add esp, 0xc
test eax, eax
je 0x45a8be
cmp eax, 0x3f
jne 0x45ad1f
test byte [esi + 0x193], 8
jne 0x45a8be
mov dword [ebx + 0x18], 0x3f
mov eax, dword [ebx + 0xa4]
add dword [esi + 0x4c], eax
jmp 0x45a90c
mov edx, dword [esi + 0x4c]
mov edi, dword [ebx + 0xa4]
mov ecx, dword [ebx + 0xa8]
lea eax, [edx + edi]
cmp eax, dword [esi + 0x54]
ja 0x45c268
test edi, edi
jle 0x45a900
xor edi, edi
movzx eax, byte [edi + ecx]
inc edi
mov byte [edx], al
mov edx, dword [esi + 0x4c]
inc edx
mov dword [esi + 0x4c], edx
cmp edi, dword [ebx + 0xa4]
jl 0x45a8ea
mov eax, dword [esi + 0x5c]
cmp edx, eax
ja 0x45a909
mov edx, eax
mov dword [esi + 0x5c], edx
cmp dword [esi + 0xf0], 0
jg 0x459b54
mov edi, dword [ebp - 0x660]
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45a964
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
movzx eax, byte [ebx + 0xbb]
btr eax, 1
jae 0x45a9d3
push dword [ebx + 4]
mov byte [ebx + 0xbb], al
call fcn.00460cc0
add esp, 4
test eax, eax
je 0x45a9cc
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45c1f4
test byte [edx + 0x44], 2
je 0x45c1c6
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45a9b3
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [esi + 0x78], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 4], 0
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x45aa22
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45c245
test byte [eax + 0x44], 2
je 0x45c217
mov dword [eax + 0x38], edx
mov edx, dword [esi + 0x20]
mov eax, dword [ebx + 0x18]
mov dword [edx + 0x3c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x45aa0a
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
mov eax, dword [ebx + 0x18]
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push dword [esi + 0x118]
and byte [esi + 0x190], 0xdc
and byte [esi + 0x192], 0xf7
call fcn.0045f1b0
add esp, 4
mov dword [edi + 4], 0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x14], edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
je 0x459cef
call fcn.004a91cc
mov edx, dword [esi + 0x84]
mov ebx, eax
test edx, edx
je 0x45aaba
push dword [esi + 0xa8]
push dword [esi + 0x48]
push edx
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x48]
sub ecx, edx
sub dword [esi + 0x4c], ecx
sub dword [esi + 0x54], ecx
sub dword [esi + 0x58], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0x84], 0
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45ab1f
test byte [edx + 0x44], 2
je 0x45aaf1
mov dword [edx + 0x38], ebx
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], ebx
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45aadf
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a5ea
push ebx
movzx eax, byte [esi + 0x190]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push ebx
push ebx
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp dword [ebp - 0x65c], 0
jne 0x459be9
cmp dword [ebp - 0x664], 1
jg 0x459be9
or eax, 0x40
mov byte [ebx + 0xbb], al
jmp 0x459bf2
cmp dword [ebp - 0x65c], 0
jne 0x459bdd
cmp dword [ebp - 0x664], 1
jg 0x459bdd
or eax, 0x20
jmp 0x459be0
mov edx, 1
jmp 0x459dea
mov ecx, 1
jmp 0x45a039
mov eax, 1
jmp 0x459fb8
push ebx
movzx eax, byte [esi + 0x190]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push ebx
push ebx
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45ac64
test byte [edx + 0x44], 2
je 0x45ac36
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45ac20
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45acf0
test byte [edx + 0x44], 2
je 0x45acc2
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45acac
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
movzx eax, byte [ebx + 0xbc]
jmp 0x45a7fd
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45ad88
test byte [edx + 0x44], 2
je 0x45ad5a
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45ad44
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45adf0
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45ae6b
test byte [eax + 0x44], 2
je 0x45ae38
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45ae1a
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x42
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45af0e
test byte [eax + 0x44], 2
je 0x45aedb
mov edx, 0x3d
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45aebd
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x3d
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x3d
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x3d
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp ecx, 0x74
je 0x45ae93
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45afba
test byte [eax + 0x44], 2
je 0x45af87
mov edx, 0x7d
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45af69
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x7d
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x7d
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x7d
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp ecx, 0x74
je 0x45a179
lea edi, [ebp + 0xc]
lea eax, [ebp + 0x10]
lea ecx, [ebp - 0x304]
lea edx, [ebp - 0x688]
mov dword [ebp - 0x674], ebx
mov ebx, eax
mov dword [ebp - 0x678], esi
mov esi, edx
lea ecx, [ebp - 0x304]
push ecx
push esi
push ebx
push edi
call fcn.0046d580
add esp, 0x10
test eax, eax
jne 0x45b050
mov eax, dword [ebp - 0x680]
mov ecx, eax
and ecx, 0xfffffffd
cmp ecx, 0x40
je 0x45b00d
cmp eax, 0x41
je 0x45b00d
mov ebx, dword [ebp - 0x674]
mov esi, dword [ebp - 0x678]
movsx ecx, byte [ebx + 0xb4]
jmp 0x45a18c
mov esi, dword [ebp - 0x678]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45b0bf
test byte [edx + 0x44], 2
je 0x45b091
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45b07b
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp ecx, 0x74
je 0x45b0fe
cmp edx, 0x40
je 0x45afeb
cmp edx, 0x42
je 0x45af3f
jmp 0x45a179
xor eax, eax
inc word [esi + 0x178]
xor edx, edx
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x6c8], eax
mov byte [ebp - 0x40c], dl
cmp ecx, 0xfffffffb
je 0x45b128
mov dword [ebp - 0x6cc], ecx
jmp 0x45b132
mov dword [ebp - 0x6cc], 0xfffffffa
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x45b158
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x45b150
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x45b13b
dec eax
mov dword [ebp - 0x6c0], eax
jmp 0x45b162
mov dword [ebp - 0x6c0], 0
mov edx, dword [ebp - 0x6c0]
lea ecx, [ebp - 0x6c4]
push ecx
push 0
lea edi, [edx + 3]
push edi
lea eax, [edx + 2]
mov dword [ecx + 8], eax
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45bffd
push dword [ebp - 0x6bc]
push 0
push dword [ebp - 0x6c4]
call fcn.004a08c0
add esp, 0xc
mov ecx, dword [ebp - 0x6c4]
xor edx, edx
movzx eax, byte [edx + 0x4c64d8]
mov byte [edx + ecx], al
inc edx
cmp byte [edx + 0x4c64d8], 0
je 0x45bfdc
cmp edx, 2
jl 0x45b1a9
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x45b243
mov eax, dword [ebp - 0x6c4]
xor ecx, ecx
mov dword [ebp - 0x6d4], eax
cmp byte [edi], 0
lea edx, [eax + 2]
je 0x45b20b
mov dword [ebp - 0x678], esi
mov esi, dword [ebp - 0x6c0]
cmp ecx, esi
jge 0x45bfca
movzx eax, byte [ecx + edi]
mov byte [ecx + edx], al
inc ecx
cmp byte [ecx + edi], 0
jne 0x45b1ef
mov esi, dword [ebp - 0x678]
cmp ecx, dword [ebp - 0x6c0]
jge 0x45b243
lea edx, [ebp - 0x6c0]
mov eax, dword [edx]
sub eax, ecx
mov dword [edx], eax
cmp eax, 0x60
jle 0x45bf61
mov eax, dword [ebp - 0x6d4]
push dword [ebp - 0x6c0]
push 0x20
lea edx, [ecx + eax + 2]
push edx
call fcn.004a08c0
add esp, 0xc
mov dword [ebp - 0x6b0], 0
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x45bf20
mov ecx, edi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x45b271
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x45b25c
dec eax
mov edx, eax
movsx eax, byte [edi]
mov dword [ebp - 0x6d0], 0
test eax, eax
je 0x45b2ae
mov dword [ebp - 0x678], esi
mov ecx, dword [ebp - 0x6d0]
inc edi
cmp eax, 0x2c
lea esi, [ecx + 1]
jne 0x45b29b
mov ecx, esi
movsx eax, byte [edi]
test eax, eax
jne 0x45b290
mov dword [ebp - 0x6d0], ecx
mov esi, dword [ebp - 0x678]
mov eax, dword [ebp - 0x6d0]
sub edi, edx
lea edx, [ebp - 0x6b0]
push edx
push 0
lea eax, [eax*4 + 4]
push eax
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45bf0a
movsx ecx, byte [edi]
test ecx, ecx
je 0x45b351
mov dword [ebp - 0x6e4], 1
xor edx, edx
mov dword [ebp - 0x674], ebx
xor eax, eax
mov dword [ebp - 0x678], esi
mov ebx, dword [ebp - 0x6e4]
cmp ecx, 0x2d
jne 0x45b30c
inc edi
mov ebx, 0xffffffff
movsx ecx, byte [edi]
movsx esi, byte [edi + 1]
lea edx, [edx + edx*4]
lea edx, [ecx + edx*2 - 0x30]
cmp esi, 0x2c
je 0x45b320
test esi, esi
jne 0x45b33d
imul edx, ebx
inc edi
mov ebx, dword [ebp - 0x6b0]
mov dword [ebx + eax*4], edx
inc eax
movsx ecx, byte [edi]
xor edx, edx
mov ebx, 1
cmp ecx, 0x2c
jne 0x45b341
inc edi
movsx ecx, byte [edi]
test ecx, ecx
jne 0x45b2fe
mov ebx, dword [ebp - 0x674]
mov esi, dword [ebp - 0x678]
mov eax, dword [ebp - 0x6b0]
mov edx, dword [ebp - 0x6d0]
inc edx
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x650], 0
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x648], 1
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x63c], 4
mov dword [ebp - 0x638], 1
lea eax, [ebp - 0x6d8]
push eax
push 0
push 0x39
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45bef4
mov eax, dword [ebp - 0x6d8]
mov edi, dword [esi + 0x98]
mov dword [eax], edi
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [esi + 0x10c]
mov dword [ecx + 0x1c], edx
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [esi + 0x199]
shr edx, 3
and edx, 1
movzx eax, byte [edi + 0x36]
shl edx, 6
and eax, 0xffffffbf
or eax, edx
mov byte [edi + 0x36], al
mov edx, dword [ebp - 0x6d8]
mov eax, dword [esi + 0x8c]
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x17a]
mov byte [edi + 0x2c], cl
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x17b]
mov byte [edx + 0x2d], al
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x17c]
mov byte [edi + 0x2e], cl
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x17f]
mov byte [edx + 0x2f], al
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x180]
mov byte [edi + 0x30], cl
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x189]
mov byte [edx + 0x31], al
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x18a]
mov byte [edi + 0x32], cl
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x187]
mov byte [edx + 0x33], al
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x188]
mov byte [edi + 0x34], cl
mov ecx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x18d]
shr eax, 5
movzx edx, byte [ecx + 0x35]
and eax, 1
and edx, 0xfffffffe
or edx, eax
mov byte [ecx + 0x35], dl
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [esi + 0x18e]
shr edx, 2
and edx, 1
movzx eax, byte [edi + 0x35]
add edx, edx
and eax, 0xfffffffd
or eax, edx
mov byte [edi + 0x35], al
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x18f]
shr eax, 5
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 2
and ecx, 0xfffffffb
or ecx, eax
mov byte [edx + 0x35], cl
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x18f]
shr ecx, 6
and ecx, 1
movzx eax, byte [edi + 0x35]
shl ecx, 3
and eax, 0xfffffff7
or eax, ecx
mov byte [edi + 0x35], al
mov ecx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x18f]
shr eax, 3
movzx edx, byte [ecx + 0x35]
and eax, 0xfffffff0
and edx, 0xffffffef
or edx, eax
mov byte [ecx + 0x35], dl
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [esi + 0x190]
and edx, 1
movzx eax, byte [edi + 0x35]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [edi + 0x35], al
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x190]
shr eax, 1
and eax, 1
movzx ecx, byte [edx + 0x35]
shl eax, 6
and ecx, 0xffffffbf
or ecx, eax
mov byte [edx + 0x35], cl
mov edi, dword [ebp - 0x6d8]
movzx ecx, byte [esi + 0x190]
shr ecx, 2
movzx eax, byte [edi + 0x35]
shl ecx, 7
and eax, 0x7f
or eax, ecx
mov byte [edi + 0x35], al
mov ecx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x192]
and eax, 2
movzx edx, byte [ecx + 0x36]
and edx, 0xfffffffd
or edx, eax
mov byte [ecx + 0x36], dl
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [esi + 0x192]
and edx, 4
movzx eax, byte [edi + 0x36]
and eax, 0xfffffffb
or eax, edx
mov byte [edi + 0x36], al
mov edx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x192]
and eax, 1
movzx ecx, byte [edx + 0x36]
and ecx, 0xfffffffe
or ecx, eax
mov byte [edx + 0x36], cl
mov edi, dword [ebp - 0x6d8]
mov ecx, dword [esi + 0x94]
mov dword [edi + 0x10], ecx
mov ecx, dword [ebp - 0x6d8]
movzx eax, byte [esi + 0x193]
shr eax, 6
and eax, 1
movzx edx, byte [ecx + 0x36]
shl eax, 4
and edx, 0xffffffef
or edx, eax
mov byte [ecx + 0x36], dl
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [esi + 0x193]
and edx, 0x20
movzx eax, byte [edi + 0x36]
and eax, 0xffffffdf
or eax, edx
mov byte [edi + 0x36], al
mov edx, dword [ebp - 0x6d8]
mov eax, dword [esi + 0x88]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x45b66d
mov edx, dword [ebp - 0x6d8]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [eax + 4]
mov dword [ecx + 8], edx
mov edi, dword [esi + 0x6c]
mov edx, dword [ebp - 0x6d8]
mov eax, dword [edi + 8]
mov dword [edx + 0xc], eax
mov ecx, dword [esi + 0x6c]
mov edi, dword [ebp - 0x6d8]
movzx edx, byte [ecx + 0xbb]
shr edx, 1
and edx, 1
movzx eax, byte [edi + 0x36]
shl edx, 3
and eax, 0xfffffff7
or eax, edx
mov byte [edi + 0x36], al
mov edx, dword [ebp - 0x6d8]
mov eax, dword [esi + 0xa4]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 0x6d8]
mov dword [ecx + 0x24], 0
mov edx, dword [esi + 0xa4]
test edx, edx
je 0x45b6e3
mov eax, dword [ebp - 0x6d8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x6d8]
jmp 0x45b6f5
mov eax, dword [ebp - 0x6d8]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp - 0x6d8]
mov dword [esi + 0xa4], eax
lea edx, [ebp - 0x4cc]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x98]
mov dword [ebp - 0x6e0], eax
mov eax, dword [ebp - 0x67c]
test edx, edx
je 0x45beba
push dword [esi + 0x10c]
push dword [ebp - 0x6bc]
push edx
lea edx, [ebp - 0x6c8]
push edx
lea ecx, [ebp - 0x658]
push ecx
push dword [ebp - 0x6c4]
lea edi, [ebp - 0x6cc]
push edi
push dword [ebp - 0x688]
call eax
add esp, 0x20
mov edi, dword [esi + 0xa4]
mov ecx, dword [ebp - 0x6e0]
mov dword [esi + 0x6c], ecx
mov eax, dword [edi]
mov dword [esi + 0x98], eax
mov edx, dword [edi + 0x1c]
mov dword [esi + 0x10c], edx
movzx edx, byte [edi + 0x36]
shr edx, 6
and edx, 1
movzx eax, byte [esi + 0x199]
shl edx, 3
and eax, 0xfffffff7
or eax, edx
mov byte [esi + 0x199], al
mov eax, dword [edi + 4]
mov dword [esi + 0x8c], eax
movzx edx, byte [edi + 0x2c]
mov byte [esi + 0x17a], dl
movzx eax, byte [edi + 0x2d]
mov byte [esi + 0x17b], al
movzx eax, byte [edi + 0x2e]
mov byte [esi + 0x17c], al
movzx eax, byte [edi + 0x2f]
mov byte [esi + 0x17f], al
movzx eax, byte [edi + 0x30]
mov byte [esi + 0x180], al
movzx eax, byte [edi + 0x31]
mov byte [esi + 0x189], al
movzx eax, byte [edi + 0x32]
mov byte [esi + 0x18a], al
movzx eax, byte [edi + 0x33]
mov byte [esi + 0x187], al
movzx eax, byte [edi + 0x34]
mov byte [esi + 0x188], al
movzx edx, byte [edi + 0x35]
and edx, 1
movzx eax, byte [esi + 0x18d]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [esi + 0x18d], al
movzx edx, byte [edi + 0x35]
shr edx, 1
and edx, 1
movzx eax, byte [esi + 0x18e]
shl edx, 2
and eax, 0xfffffffb
or eax, edx
mov byte [esi + 0x18e], al
movzx edx, byte [edi + 0x35]
shr edx, 2
and edx, 1
movzx eax, byte [esi + 0x18f]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [esi + 0x18f], al
and eax, 0xffffffbf
movzx edx, byte [edi + 0x35]
shr edx, 3
and edx, 1
shl edx, 6
or eax, edx
mov byte [esi + 0x18f], al
and eax, 0x7f
movzx edx, byte [edi + 0x35]
shr edx, 4
shl edx, 7
or eax, edx
mov byte [esi + 0x18f], al
movzx edx, byte [edi + 0x35]
shr edx, 5
movzx eax, byte [esi + 0x190]
and edx, 1
and eax, 0xfffffffe
or eax, edx
mov byte [esi + 0x190], al
and eax, 0xfffffffd
movzx edx, byte [edi + 0x35]
shr edx, 6
and edx, 1
add edx, edx
or eax, edx
mov byte [esi + 0x190], al
and eax, 0xfffffffb
movzx edx, byte [edi + 0x35]
shr edx, 5
and edx, 0xfffffffc
or eax, edx
mov byte [esi + 0x190], al
movzx eax, byte [esi + 0x192]
movzx edx, byte [edi + 0x36]
and eax, 0xfffffffd
and edx, 2
or eax, edx
mov byte [esi + 0x192], al
and eax, 0xfffffffb
movzx edx, byte [edi + 0x36]
and edx, 4
or eax, edx
mov byte [esi + 0x192], al
and eax, 0xfffffffe
movzx edx, byte [edi + 0x36]
and edx, 1
or eax, edx
mov byte [esi + 0x192], al
mov eax, dword [edi + 0x10]
mov dword [esi + 0x94], eax
movzx edx, byte [edi + 0x36]
shr edx, 4
and edx, 1
movzx eax, byte [esi + 0x193]
shl edx, 6
and eax, 0xffffffbf
or eax, edx
mov byte [esi + 0x193], al
and eax, 0xffffffdf
movzx edx, byte [edi + 0x36]
and edx, 0x20
or eax, edx
mov byte [esi + 0x193], al
mov dword [ebp - 0x6dc], edi
mov edi, dword [edi + 0x18]
mov dword [esi + 0x88], edi
test ecx, ecx
je 0x45b963
mov eax, dword [ebp - 0x6dc]
mov edx, dword [eax + 0x20]
mov dword [ecx + 0x14], edx
mov edi, dword [esi + 0x6c]
mov dword [ebp - 0x6e0], edi
mov edx, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x6e0]
mov edi, dword [edx + 0xc]
mov dword [ecx + 8], edi
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
movzx edi, byte [edx + 0x36]
shr edi, 3
and edi, 1
movzx eax, byte [ecx + 0xbb]
add edi, edi
and eax, 0xfffffffd
or eax, edi
mov byte [ecx + 0xbb], al
mov eax, dword [edx + 0x28]
test eax, eax
je 0x45be84
mov dword [esi + 0xa4], eax
push dword [eax + 0x24]
call fcn.00460cc0
add esp, 4
test eax, eax
jne 0x45be6e
mov eax, dword [ebp - 0x6b0]
test eax, eax
je 0x45b9d8
push eax
call fcn.00460cc0
add esp, 4
test eax, eax
jne 0x45be58
push dword [ebp - 0x6c4]
call fcn.00460cc0
add esp, 4
test eax, eax
jne 0x45be42
mov eax, dword [esi + 0x4c]
dec word [esi + 0x178]
mov dword [esi + 0x5c], eax
mov eax, dword [ebp - 0x6c8]
test eax, eax
je 0x45bb56
cmp dword [esi + 0x10c], 0
je 0x45ba6f
test eax, eax
jl 0x45bc37
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45bc13
test byte [edx + 0x44], 2
je 0x45bbe4
mov dword [edx + 0x38], 0x7f
mov edx, dword [esi + 0x20]
mov eax, dword [ebp - 0x6c8]
mov dword [edx + 0x3c], eax
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45ba51
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x7f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
lea ecx, [ebp - 0x40c]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x45ba8c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x45ba77
dec eax
push dword [ebp - 0x670]
push 0
mov dword [esi + 0x10c], eax
inc eax
push eax
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x45bcfb
mov eax, dword [esi + 0x10c]
inc eax
mov ecx, dword [esi + 0x98]
mov dword [ebp - 0x6e8], 0
cmp byte [ebp - 0x40c], 0
je 0x45bb02
mov dword [ebp - 0x678], esi
mov esi, dword [ebp - 0x6e8]
cmp esi, eax
jge 0x45bcf0
movzx edx, byte [ebp + esi - 0x40c]
mov byte [esi + ecx], dl
inc esi
cmp byte [ebp + esi - 0x40c], 0
jne 0x45bad8
mov dword [ebp - 0x6e8], esi
mov esi, dword [ebp - 0x678]
cmp eax, dword [ebp - 0x6e8]
jle 0x45bb2b
sub eax, dword [ebp - 0x6e8]
cmp eax, 0x60
jle 0x45bc58
push eax
push 0x20
add ecx, dword [ebp - 0x6e8]
push ecx
call fcn.004a08c0
add esp, 0xc
mov edx, dword [esi + 0x98]
mov eax, dword [esi + 0x10c]
mov byte [eax + edx], 0
or byte [esi + 0x199], 8
mov eax, dword [ebp - 0x6c8]
test eax, eax
jl 0x45bc37
jne 0x45ba1a
mov edx, 1
xor eax, eax
mov dword [ebp - 0x674], ebx
mov dword [ebp - 0x678], esi
lea edi, [ebp - 0x688]
mov ebx, eax
mov esi, edx
mov ecx, dword [ebp + 0xc]
movsx eax, byte [ecx]
mov ecx, eax
and ecx, 0xfffffffd
cmp ecx, 0x40
je 0x45be3c
cmp eax, 0x3f
je 0x45be3c
and eax, 0xffffffbf
cmp eax, 1
jne 0x45bba2
dec esi
test esi, esi
jg 0x45bba2
mov ebx, 1
lea ecx, [ebp - 0x304]
push ecx
push edi
lea ecx, [ebp + 0x10]
push ecx
lea ecx, [ebp + 0xc]
push ecx
call fcn.0046d580
add esp, 0x10
test eax, eax
jne 0x45bdaa
cmp dword [ebp - 0x680], 2
je 0x45bd87
test ebx, ebx
je 0x45bb73
mov ebx, dword [ebp - 0x674]
mov esi, dword [ebp - 0x678]
jmp 0x45a90c
push eax
movzx eax, byte [esi + 0x190]
push 0x7f
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push 0x7f
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp eax, 0xffffffff
je 0x45ba1a
cmp eax, 0xfffffffe
je 0x45ba1a
mov dword [ebp - 0x6c8], 0
jmp 0x45bb56
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
test edi, edi
jbe 0x45bce9
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x6ec], 0
mov dword [ebp - 0x6f4], ecx
mov dword [ebp - 0x674], ebx
add edx, ecx
mov dword [ebp - 0x6f0], edx
mov edx, 0x20
mov dword [ebp - 0x678], esi
mov ecx, dword [ebp - 0x6f0]
mov ebx, dword [ebp - 0x6ec]
mov byte [ecx + ebx*2], dl
mov byte [ecx + ebx*2 + 1], dl
inc ebx
cmp ebx, edi
jb 0x45bca4
mov dword [ebp - 0x6ec], ebx
mov edx, ebx
mov ecx, dword [ebp - 0x6f4]
mov ebx, dword [ebp - 0x674]
mov esi, dword [ebp - 0x678]
lea edi, [edx + edx + 1]
lea edx, [edi - 1]
cmp edx, eax
jae 0x45bb2b
add ecx, dword [ebp - 0x6e8]
mov byte [edi + ecx - 1], 0x20
jmp 0x45bb2b
mov edi, 1
jmp 0x45bcce
mov esi, dword [ebp - 0x678]
jmp 0x45bb2b
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45bd64
test byte [edx + 0x44], 2
je 0x45bd36
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45bd20
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov esi, dword [ebp - 0x678]
or byte [esi + 0x198], 0x20
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov esi, dword [ebp - 0x678]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45be19
test byte [edx + 0x44], 2
je 0x45bdeb
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45bdd5
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
inc esi
jmp 0x45bba2
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push dword [ebp - 0x6dc]
call fcn.00460cc0
add esp, 4
mov dword [esi + 0xa4], 0
test eax, eax
je 0x45b9bd
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push 0xc8
push dword [ebp - 0x6bc]
lea edx, [ebp - 0x40c]
push edx
lea ecx, [ebp - 0x6c8]
push ecx
lea edi, [ebp - 0x658]
push edi
push dword [ebp - 0x6c4]
lea edx, [ebp - 0x6cc]
push edx
push dword [ebp - 0x688]
call eax
jmp 0x45b751
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
xor eax, eax
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], 1
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], eax
jmp 0x45b3ac
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
test edi, edi
jbe 0x45bfd5
mov eax, dword [ebp - 0x6d4]
xor edx, edx
mov dword [ebp - 0x674], ebx
mov ebx, 0x20
mov dword [ebp - 0x678], esi
lea eax, [ecx + eax + 2]
mov byte [eax + edx*2], bl
mov byte [eax + edx*2 + 1], bl
inc edx
cmp edx, edi
jb 0x45bf8b
mov ebx, dword [ebp - 0x674]
lea eax, [edx + edx + 1]
mov esi, dword [ebp - 0x678]
lea edx, [eax - 1]
cmp edx, dword [ebp - 0x6c0]
jae 0x45b243
mov edx, dword [ebp - 0x6d4]
lea ecx, [ecx + edx + 2]
mov byte [eax + ecx - 1], 0x20
jmp 0x45b243
mov esi, dword [ebp - 0x678]
jmp 0x45b243
mov eax, 1
jmp 0x45bfa7
cmp edx, 2
jge 0x45b1c6
mov eax, edx
neg eax
add eax, 2
je 0x45b1c6
inc ecx
mov byte [ecx + edx - 1], 0x20
jmp 0x45b1c6
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
add dword [ebp + 0xc], 2
lea eax, [ebp - 0x304]
push eax
lea edx, [ebp - 0x688]
push edx
lea ecx, [ebp + 0x10]
push ecx
push edi
call fcn.0046d580
add esp, 0x10
test eax, eax
je 0x459eaa
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45c0a3
test byte [edx + 0x44], 2
je 0x45c075
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45c05f
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [ebx + 0x14]
test eax, eax
lea edx, [eax + 1]
jne 0x45c0d5
mov edx, 2
mov dword [ebx + 0x14], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov edx, dword [esi + 0x84]
mov edi, eax
test edx, edx
je 0x45c135
push dword [esi + 0xa8]
push dword [esi + 0x48]
push edx
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x48]
sub ecx, edx
sub dword [esi + 0x4c], ecx
sub dword [esi + 0x54], ecx
sub dword [esi + 0x58], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0x84], 0
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45c1a3
test byte [edx + 0x44], 2
je 0x45c175
mov dword [edx + 0x38], edi
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], edi
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45c15a
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, edi
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push edi
movzx eax, byte [esi + 0x190]
push edi
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push edi
push edi
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push edx
movzx eax, byte [esi + 0x190]
push edx
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push edx
push edx
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45c2ad
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45c320
test byte [eax + 0x44], 2
je 0x45c2ed
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45c2d7
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45ae2b
mov eax, 0x42
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x45c659
cmp edx, 2
je 0x45c62f
test byte [ebx + 0xba], 0x20
jne 0x45c444
mov edi, dword [ebp - 0x660]
test byte [esi + 0x18c], 2
je 0x45c3af
test eax, 0x80
je 0x45c3af
push dword [ebp - 0x664]
lea eax, [ebp - 0x304]
push eax
lea edx, [ebp - 0x688]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.0046d800
add esp, 0x14
test eax, eax
jne 0x45c511
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45c3f4
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45c4e9
test byte [eax + 0x44], 2
je 0x45c4b6
mov edx, 0x69
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45c426
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x69
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [esi + 0xf0]
dec edx
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x114]
add eax, ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
mov dword [esi + 0xf0], edx
test edx, edx
jle 0x45c547
push dword [esi + 0x110]
push 0x20
push ecx
call fcn.004a08c0
push dword [ebp - 0x664]
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0xc]
push edx
call fcn.0046d4a0
add esp, 0x18
cmp eax, 1
jne 0x45a90c
mov edi, dword [ebp - 0x660]
and byte [esi + 0x195], 0x7f
mov dword [esi + 0x14c], 1
jmp 0x45a91f
mov eax, 0x69
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [ebp + 0xc]
cmp byte [eax], 2
jne 0x45a91f
cmp dword [ebp - 0x664], 2
jge 0x45a91f
mov dword [ebx + 0x14], 2
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45c58c
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45c607
test byte [eax + 0x44], 2
je 0x45c5d4
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45c5b6
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
mov eax, 0x1b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x1b
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp dword [ebp - 0x664], 2
jge 0x45c444
mov dword [ebx + 0x14], 2
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
cmp dword [ebp - 0x664], 2
jl 0x45a919
jmp 0x45c444
mov edx, dword [esi + 0xf0]
dec edx
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x114]
add eax, ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
mov dword [esi + 0xf0], edx
test edx, edx
jle 0x45c6a6
push dword [esi + 0x110]
push 0x20
push ecx
call fcn.004a08c0
add esp, 0xc
jmp 0x45a90c
mov eax, dword [esi + 0x84]
test eax, eax
je 0x45c6eb
push dword [esi + 0xa8]
push dword [esi + 0x48]
push eax
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x48]
sub edx, eax
sub dword [esi + 0x4c], edx
sub dword [esi + 0x54], edx
sub dword [esi + 0x58], edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x45c75e
test byte [eax + 0x44], 2
je 0x45c72b
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x78]
test edx, edx
je 0x45c715
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45c5c7
mov eax, 0x1b
push eax
movzx edx, byte [esi + 0x190]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x45c791
inc eax
mov dword [ebx + 0x14], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov edx, dword [esi + 0x84]
test edx, edx
je 0x45c7ec
push dword [esi + 0xa8]
push dword [esi + 0x48]
push edx
call fcn.004a0860
push dword [esi + 0x48]
call fcn.00460cc0
add esp, 0x10
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x48]
sub ecx, edx
sub dword [esi + 0x4c], ecx
sub dword [esi + 0x54], ecx
sub dword [esi + 0x58], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0x84], 0
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45c855
test byte [edx + 0x44], 2
je 0x45c827
mov dword [edx + 0x38], edi
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], edi
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45c811
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45c16b
push edi
movzx eax, byte [esi + 0x190]
push edi
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push edi
push edi
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp dword [ebp - 0x65c], 0
jne 0x459c60
cmp dword [ebp - 0x664], 1
jg 0x459c60
or edx, 0x40
mov byte [ebx + 0xbb], dl
jmp 0x459c69
cmp dword [ebp - 0x65c], 0
jne 0x459c4d
cmp dword [ebp - 0x664], 1
jg 0x459c4d
movzx edx, byte [ebx + 0xbb]
or edx, 0x20
jmp 0x459c57
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x41
je 0x45c920
mov dword [ebp - 0x674], ebx
lea edx, [ebp + 0xc]
mov dword [ebp - 0x678], esi
lea eax, [ebp + 0x10]
mov ebx, eax
mov esi, edx
lea edi, [ebp - 0x688]
lea ecx, [ebp - 0x304]
push ecx
push edi
push ebx
push esi
call fcn.0046d580
add esp, 0x10
test eax, eax
jne 0x45c948
cmp dword [ebp - 0x680], 2
je 0x45c932
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x41
jne 0x45c8ed
mov ebx, dword [ebp - 0x674]
mov esi, dword [ebp - 0x678]
add eax, 2
mov dword [ebp + 0xc], eax
and byte [esi + 0x198], 0xdf
jmp 0x459b61
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov esi, dword [ebp - 0x678]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x45c9b7
test byte [edx + 0x44], 2
je 0x45c989
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x20]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45c973
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x78], edx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push eax
push eax
movzx eax, byte [esi + 0x190]
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0046e340
add esp, 0x14
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
push esi
push eax
push eax
push 1
call fcn.00463630
add esp, 0x10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x45a9c4
cmp dword [ebp - 0x664], 2
jge 0x45a90c
mov dword [ebx + 0x14], 2
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x45aa6e
jmp 0x459cef