Function at 0x420a5e
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3bc
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], ebx
mov edi, dword [eax + 4]
test edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], eax
je 0x4219ee
xor eax, eax
mov ebx, 1
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov edx, dword [esi + 0xc]
cmp edx, 1
jle 0x41fd54
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x41fd9a
test al, 0x20
je 0x41fd9a
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x420e69
and eax, 0xffffffdf
cmp ecx, 1
je 0x420e4e
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.00436400
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x420ddd
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x41fd46
test al, 0x20
jne 0x4219bb
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x41fd9a
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42199c
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x421981
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.00436400
add esp, 4
test eax, eax
jne 0x421910
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x41fd9a
test al, 0x20
jne 0x420e84
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x41fdb1.3
mov edx, dword [edx*4 + 0x4d4f00]
jmp edx
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x1c0], eax
mov eax, dword [edi + 0x3c]
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [edi + 0x44]
mov dword [ebp - 0x1bc], edx
add ecx, eax
cmp edx, ecx
jae 0x41fe19
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x41fdf2
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x41fdfb
mov edx, eax
push edx
push edi
call fcn.0042fe50
add esp, 8
test eax, eax
jne 0x420eca
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jg 0x420e9e
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x41fe39
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x41fcd9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x41fe67
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x41fe67
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x41fe71
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x41fe89
cmp byte [edi + 0x156], 1
je 0x420f4f
push edi
call fcn.0042e850
add esp, 4
test eax, eax
jne 0x42102a
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.0042fd40
add esp, 8
test eax, eax
jne 0x420fa5
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x41fee2
mov eax, dword [eax*4 + 0x4d4f80]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x41fef0
mov dword [edi + 0x3c], ecx
jmp 0x41fef6
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x168]
lea eax, [ecx + eax - 1]
mov dword [edi + 0x44], eax
jmp 0x420026
mov eax, dword [edi + 0x18]
test eax, eax
je 0x420f86
test byte [eax + 0x44], 2
je 0x41ff4f
mov edx, 0x2c
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x41ff3d
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x2c
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x2c
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x41ff85
add ecx, 4
jmp 0x41ff8b
mov ecx, dword [edi + 0x38]
add ecx, 4
mov eax, dword [edi + 0xf8]
mov dword [edi + 0x3c], ecx
movzx edx, byte [edi + 0x168]
lea eax, [ecx + eax - 8]
mov dword [edi + 0x44], eax
jmp 0x420026
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x41ffb3
mov dword [edi + 0x3c], ecx
jmp 0x41ffb9
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x168]
test dl, 4
mov dword [ebp - 0x1ec], eax
lea eax, [ecx + eax]
je 0x41ffef
test byte [edi + 0x16a], 0x40
je 0x41ffef
test byte [edi + 0x16b], 8
je 0x41ffef
cmp dword [ebp - 0x1c4], 1
je 0x41fff4
mov dword [edi + 0x44], eax
jmp 0x420026
mov eax, dword [ebp - 0x1ec]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x420026
push 0x464
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0041b620
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x420046
test byte [edi + 0x16a], 0x40
je 0x420046
test byte [edi + 0x16b], 8
je 0x420046
cmp byte [edi + 0x154], 1
je 0x420093
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x42006e
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x420093
cmp edx, 6
je 0x420093
cmp edx, 8
je 0x420093
dec eax
mov dword [edi + 0x44], eax
jmp 0x420093
cmp edx, 1
jne 0x420093
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42008d
cmp edx, 6
je 0x42008d
cmp edx, 8
je 0x42008d
dec eax
mov dword [edi + 0x44], eax
add ecx, 5
mov dword [edi + 0x3c], ecx
sub eax, ecx
push eax
push 0x20
push ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
call fcn.004b34c0
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x41fcd9
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x41fcd9
cmp ebx, 2
jge 0x41fcd9
jmp 0x42109b
test byte [edi + 0x168], 4
je 0x4200f3
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x41fcd9
or byte [edi + 0x16d], 0x40
jmp 0x41fcd9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42152b
cmp edx, 2
je 0x42150c
test byte [esi + 0x4e], 0x20
jne 0x4201c2
test byte [edi + 0x168], 2
je 0x420158
test eax, 0x80
je 0x420158
push ebx
lea eax, [ebp - 0x36c]
push eax
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.0042dd40
add esp, 0x14
test eax, eax
jne 0x421397
mov eax, dword [edi + 0x18]
test eax, eax
je 0x421378
test byte [eax + 0x44], 2
je 0x420198
mov edx, 0x69
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x420186
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x69
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x69
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x4201e1
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x4201e1
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1c8], 1
jmp 0x4201eb
mov dword [ebp - 0x1c8], 0
cmp dword [edi + 0x128], 0
je 0x420219
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x420219
cmp dword [edi + 0x130], 0
jne 0x420464
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x420231
cmp byte [edi + 0x156], 1
je 0x4213c0
push edi
call fcn.0042e850
add esp, 4
test eax, eax
jne 0x42149b
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.0042fd40
add esp, 8
test eax, eax
jne 0x421416
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42028a
mov eax, dword [eax*4 + 0x4d4fa0]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x420298
mov dword [edi + 0x3c], ecx
jmp 0x42029e
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x168]
lea eax, [ecx + eax - 1]
mov dword [edi + 0x44], eax
jmp 0x4203ce
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4213f7
test byte [eax + 0x44], 2
je 0x4202f7
mov edx, 0x2c
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4202e5
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x2c
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x2c
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42032d
add ecx, 4
jmp 0x420333
mov ecx, dword [edi + 0x38]
add ecx, 4
mov eax, dword [edi + 0xf8]
mov dword [edi + 0x3c], ecx
movzx edx, byte [edi + 0x168]
lea eax, [ecx + eax - 8]
mov dword [edi + 0x44], eax
jmp 0x4203ce
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42035b
mov dword [edi + 0x3c], ecx
jmp 0x420361
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x168]
test dl, 4
mov dword [ebp - 0x3b8], eax
lea eax, [ecx + eax]
je 0x420397
test byte [edi + 0x16a], 0x40
je 0x420397
test byte [edi + 0x16b], 8
je 0x420397
cmp dword [ebp - 0x1e4], 1
je 0x42039c
mov dword [edi + 0x44], eax
jmp 0x4203ce
mov eax, dword [ebp - 0x3b8]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x4203ce
push 0x534
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0041b620
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x4203ee
test byte [edi + 0x16a], 0x40
je 0x4203ee
test byte [edi + 0x16b], 8
je 0x4203ee
cmp byte [edi + 0x154], 1
je 0x42043b
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x420416
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42043b
cmp edx, 6
je 0x42043b
cmp edx, 8
je 0x42043b
dec eax
mov dword [edi + 0x44], eax
jmp 0x42043b
cmp edx, 1
jne 0x42043b
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x420435
cmp edx, 6
je 0x420435
cmp edx, 8
je 0x420435
dec eax
mov dword [edi + 0x44], eax
add ecx, 5
mov dword [edi + 0x3c], ecx
sub eax, ecx
push eax
push 0x20
push ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], 0
call fcn.004b34c0
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
cmp dword [ebp - 0x1c8], 0
je 0x420474
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x41fcd9
cmp ebx, 1
jle 0x42055b
mov eax, dword [ebp - 0x36c]
cmp eax, 7
je 0x42049c
cmp eax, 8
jne 0x420529
cmp dword [ebp - 0x20], 0
je 0x4204bb
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x42074f
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x368]
je 0x4204cf
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x420503
mov dword [ebp - 0x1b0], edi
xor eax, eax
mov edi, dword [ebp + eax*4 - 0x1ac]
sub edi, dword [ebp + eax*4 - 0xb4]
imul edi, dword [ebp + eax*4 - 0x130]
inc eax
add ecx, edi
cmp eax, edx
jl 0x4204e0
mov edi, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x364]
lea eax, [ebp - 0x36c]
push eax
mov dword [ebp - 0x1d8], ecx
lea edx, [ebp - 0x1ac]
push edx
push 0
call fcn.00430070
add esp, 0xc
jmp 0x420544
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x42053b
mov edx, 0
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], edx
mov dword [edi + 0x128], 0
dec ebx
or byte [edi + 0x171], 0x80
jmp 0x42074f
lea eax, [ebp - 0x36c]
push eax
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.0042dad0
add esp, 0x10
test eax, eax
jne 0x42189f
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x4219cd
cmp ecx, 1
je 0x4210aa
mov eax, dword [ebp - 0x36c]
cmp eax, 7
jl 0x4206bb
cmp eax, 8
jg 0x4206bb
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x4205c8
mov eax, dword [ebp - 0x1d4]
cdq
idiv ebx
mov ebx, eax
jmp 0x4205db
test byte [edi + 0x168], 2
je 0x4206ad
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x4206af
cmp ecx, 0x34
je 0x4205f2
cmp ecx, 0x1c
jl 0x4205ff
cmp ecx, 0x2c
jg 0x4205ff
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x420606
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x368]
test eax, eax
jle 0x420652
mov dword [ebp - 0x1b0], edi
xor ecx, ecx
lea edi, [ecx*8]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + edi - 0x35c]
mov edi, dword [ebp + edi - 0x358]
mov dword [ebp + ecx*4 - 0xb4], edx
mov dword [ebp + ecx*4 - 0x130], edi
mov dword [ebp + ecx*4 - 0x1ac], edx
inc ecx
cmp ecx, eax
jl 0x420618
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x420684
mov dword [ebp - 0x1b0], edi
xor edx, edx
mov edi, dword [ebp + edx*4 - 0x1ac]
sub edi, dword [ebp + edx*4 - 0xb4]
imul edi, dword [ebp + edx*4 - 0x130]
inc edx
add ecx, edi
cmp edx, eax
jl 0x420661
mov edi, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x364]
lea eax, [ebp - 0x36c]
push eax
mov dword [ebp - 0x1d8], ecx
lea edx, [ebp - 0x1ac]
push edx
push 0
call fcn.00430070
add esp, 0xc
jmp 0x42073e
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x420755
cmp eax, 6
je 0x4206c5
cmp eax, 5
jne 0x42071c
movzx ecx, byte [edi + 0x168]
and ecx, 2
mov eax, dword [ebp - 0x1cc]
shr ecx, 1
mov ebx, dword [ebp - 0x1d4]
test eax, eax
mov dword [ebp - 0x1dc], eax
je 0x4206fa
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x420705
jmp 0x42074f
test ecx, ecx
jne 0x420703
mov ebx, 0
je 0x42074f
test ebx, ebx
jne 0x42073e
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x420755
cmp ecx, 0x34
je 0x42072b
cmp ecx, 0x1c
jl 0x420739
cmp ecx, 0x2c
jg 0x420739
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x42073e
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x420771
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x420768
mov dword [esi + 0xc], 2
jmp 0x41fcd9
inc eax
mov dword [esi + 0xc], eax
jmp 0x41fcd9
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x4207ad
mov eax, dword [ecx*4 + 0x4d6b00]
test eax, eax
je 0x4207ad
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x4207ad
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x4207c0
mov eax, dword [eax*4 + 0x4d4fc0]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x420801
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c], eax
movsx edx, word [edx*2 + 0x4d69a0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x421539
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c43
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x420c43
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4d69a0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x421560
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42087f
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d6d6d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x421587
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c43
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4208c2
movzx eax, byte [esi + 0x50]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0x50], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d6d5b]
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x420c43
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x420963
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3bc], eax
jge 0x4215ae
cmp dword [ebp - 0x3bc], 5
jl 0x420933
cmp dword [ebp - 0x3bc], 0x11
jg 0x420933
movzx eax, byte [esi + 0x50]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0x50], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d6d5b]
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x420c43
cmp dword [ebp - 0x3bc], 0x39
je 0x420949
cmp dword [ebp - 0x3bc], 0x38
jne 0x420b4e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x42080d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1d0]
jne 0x4209c0
cmp eax, 5
jl 0x4209a7
cmp eax, 0x11
jg 0x4209a7
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d6d5b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
jmp 0x4209c0
cmp eax, 0x39
je 0x4209b1
cmp eax, 0x38
jne 0x4209c0
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
jge case.0x4207c0.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x420a12
movzx eax, byte [esi + 0x50]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0x50], al
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c], eax
movsx eax, word [esi + 0x40]
movsx edx, word [edx*8 + 0x4d695a]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c43
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c39
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d6d6d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x421612
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x420b4e
cmp eax, 0x11
jg 0x420b4e
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x420b4e
cmp eax, 0x11
jg 0x420b4e
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4d6d5b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x42080d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3b4], eax
jge 0x421639
cmp dword [ebp - 0x3b4], 5
jl 0x420b08
cmp dword [ebp - 0x3b4], 0x11
jg 0x420b08
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4d6d5b]
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x42080d
cmp dword [ebp - 0x3b4], 0x39
je 0x420b1a
cmp dword [ebp - 0x3b4], 0x38
jne 0x420b4e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x42080d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x1e0], eax
jl 0x420b4e
cmp dword [ebp - 0x1e0], 0x34
jle 0x420bba
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x420c16
mov edx, dword [edi + 0x18]
test edx, edx
je 0x421686
test byte [edx + 0x44], 2
je 0x420b95
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x420b88
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4d6958]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4d695c]
movzx eax, word [eax*8 + 0x4d695e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x420c14
jmp 0x42080d
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x420c14
jmp 0x42080d
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x420c39
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x420c31
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x420c2e
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x420b5f
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x420ced
cmp edx, 0x40
ja 0x420c64
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x28], eax
jmp 0x420c81
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.004250b0
add esp, 0xc
test eax, eax
jne 0x421711
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004b34c0
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00430850
add esp, 0x18
test eax, eax
je 0x420cbc
cmp eax, 0x3f
jne 0x4216a0
test byte [edi + 0x16f], 8
jne 0x420cbc
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x420cd8
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x420ced
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x420cc3
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x420ced
mov dword [esi + 0x38], 1
dec dword [ebp - 0x28]
mov edx, dword [esi + 0x38]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x30], ecx
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x34], eax
add ecx, edx
cmp eax, ecx
jae 0x420d34
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x420d19
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x420d22
mov eax, edx
push eax
push edi
call fcn.0042fe50
add esp, 8
test eax, eax
jne 0x42181a
movzx eax, byte [esi + 0x50]
test al, 2
je 0x420da8
cmp dword [esi + 0x38], 0
je 0x420d85
mov edx, dword [ebp - 0x28]
mov ecx, dword [edi + 0x3c]
movzx eax, byte [edx]
mov byte [ecx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x38]
dec eax
je 0x421782
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x421782
mov edx, dword [edi + 0x3c]
mov byte [edx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x38]
dec eax
jne 0x420d5d
jmp 0x421782
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x420da3
push dword [ebp - 0x24]
call fcn.00425170
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x420dcc
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00430850
add esp, 0xc
test eax, eax
jne 0x42178b
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x420dd5
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x41fcd9
mov edx, dword [edi + 0x18]
test edx, edx
je 0x420e34
test byte [edx + 0x44], 2
je 0x420e0f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x420e02
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x20], 0
jne 0x41fd19
cmp ebx, 1
jg 0x41fd19
or eax, 0x40
jmp 0x41fd1c
cmp dword [ebp - 0x20], 0
jne 0x41fd0d
cmp ebx, 1
jg 0x41fd0d
or eax, 0x20
jmp 0x41fd19
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x420e8f
inc eax
mov dword [esi + 0xc], eax
xor eax, eax
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1e8], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x1c0]
movzx edx, byte [ecx + ebx]
inc ecx
mov byte [eax], dl
mov eax, dword [edi + 0x3c]
inc eax
mov dword [edi + 0x3c], eax
cmp ecx, dword [esi + 0x38]
jl 0x420eac
mov ebx, dword [ebp - 0x1e8]
jmp 0x41fe26
mov eax, dword [edi + 0x18]
test eax, eax
je 0x420f30
test byte [eax + 0x44], 2
je 0x420f06
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x420ef4
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x38]
movsx edx, byte [ecx + 5]
cmp edx, 0x20
je 0x420f79
cmp edx, 0x2b
jne 0x420f6b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x41fe89
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x420f6b
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42100b
test byte [eax + 0x44], 2
je 0x420fe1
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x420fcf
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x26
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x421081
test byte [edx + 0x44], 2
je 0x42105c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42104f
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 1
jne 0x4212b4
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x4210bd
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x4211a1
cmp dword [edi + 0x128], 0
jne 0x4210d5
cmp dword [ebp - 0x18], 0
je 0x421105
cmp dword [edi + 0x130], 0
je 0x421105
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x4210f8
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x421105
cmp dword [edi + 0x130], 0
jne 0x4211a1
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x42111d
cmp byte [edi + 0x156], 1
je 0x421341
push edi
call fcn.0042e850
add esp, 4
test eax, eax
je 0x421185
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4212f3
test byte [edx + 0x44], 2
je 0x421160
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x421153
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
add dword [edi + 0x98], 1
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
and byte [edi + 0x171], 0x7f
movzx eax, byte [esi + 0x4f]
test al, 2
je 0x421219
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00425170
add esp, 4
test eax, eax
je 0x421219
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42130d
test byte [edx + 0x44], 2
je 0x4211f4
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4211e7
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x10]
test edx, edx
je 0x421281
mov eax, dword [edi + 0x18]
test eax, eax
je 0x421327
test byte [eax + 0x44], 2
je 0x42125c
mov dword [eax + 0x38], edx
mov edx, dword [edi + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x42124c
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edx
movzx eax, byte [edi + 0x16c]
push edx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push dword [edi + 0x100]
and byte [edi + 0x16c], 0xdc
and byte [edi + 0x16e], 0xf7
call fcn.00422a80
add esp, 4
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4212cf
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0xc]
push edx
call fcn.0042da30
add esp, 0xc
cmp eax, 2
je 0x4212b9
cmp eax, 1
jne 0x41fcd9
jmp 0x4210aa
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push edx
push edx
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x38]
movsx edx, byte [ecx + 5]
cmp edx, 0x20
je 0x42136b
cmp edx, 0x2b
jne 0x42135d
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x42111d
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42135d
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax], 2
jne 0x4210aa
cmp ebx, 2
jge 0x4210aa
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
leave
ret
mov ecx, dword [edi + 0x38]
movsx edx, byte [ecx + 5]
cmp edx, 0x20
je 0x4213ea
cmp edx, 0x2b
jne 0x4213dc
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x420231
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x4213dc
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42147c
test byte [eax + 0x44], 2
je 0x421452
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x421440
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x26
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4214f2
test byte [edx + 0x44], 2
je 0x4214cd
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4214c0
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jge 0x4201c2
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jl 0x4210aa
jmp 0x4201c2
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42154f
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c43
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x421576
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42159d
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x420c14
jmp 0x420c43
cmp dword [ebp - 0x3bc], 0x34
jg 0x420933
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4d6958]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x4215ef
mov eax, dword [ebp - 0x3bc]
movzx eax, word [eax*8 + 0x4d695c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3bc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4d695e]
mov word [esi + 0x42], ax
jb 0x420c14
jmp 0x420c43
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x421628
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x420c14
jmp 0x42080d
cmp dword [ebp - 0x3b4], 0x34
jg 0x420b08
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4d6958]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4d695c]
movzx eax, word [eax*8 + 0x4d695e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x420c14
jmp 0x42080d
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4216f7
test byte [edx + 0x44], 2
je 0x4216d2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4216c5
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x421768
test byte [edx + 0x44], 2
je 0x421743
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x421736
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0x50]
jmp 0x420d85
cmp eax, 0x3f
jne 0x4217a9
test byte [edi + 0x16f], 8
jne 0x420dc3
mov dword [esi + 0x10], 0x3f
jmp 0x420dc3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x421800
test byte [edx + 0x44], 2
je 0x4217db
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4217ce
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x421880
test byte [eax + 0x44], 2
je 0x421856
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x421844
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4218f6
test byte [edx + 0x44], 2
je 0x4218d1
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4218c4
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x421967
test byte [edx + 0x44], 2
je 0x421942
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x421935
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00428620
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00419550
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x20], 0
jne 0x41fd73
cmp ebx, 1
jg 0x41fd73
or eax, 0x40
jmp 0x41fd76
cmp dword [ebp - 0x20], 0
jne 0x41fd63
cmp ebx, 1
jg 0x41fd63
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x41fd73
xor eax, eax
mov dword [esi + 0xc], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
test edx, edx
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
lea ecx, [edx + 1]
jne 0x4219e2
mov ecx, 2
xor eax, eax
mov dword [esi + 0xc], ecx
mov esi, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret