Function at 0x429d86
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 0x42acae
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 0x429014
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42905a
test al, 0x20
je 0x42905a
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x42a129
and eax, 0xffffffdf
cmp ecx, 1
je 0x42a10e
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.00449970
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x42a09d
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x429006
test al, 0x20
jne 0x42ac7b
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x42905a
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42ac5c
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x42ac41
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.00449970
add esp, 4
test eax, eax
jne 0x42abd0
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42905a
test al, 0x20
jne 0x42a144
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x429071.3
mov edx, dword [edx*4 + 0x4e0760]
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 0x4290d9
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x4290b2
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x4290bb
mov edx, eax
push edx
push edi
call fcn.00440790
add esp, 8
test eax, eax
jne 0x42a18a
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jg 0x42a15e
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x4290f9
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x428f99
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x429127
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x429127
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x429131
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x429149
cmp byte [edi + 0x156], 1
je 0x42a20f
push edi
call fcn.00443140
add esp, 4
test eax, eax
jne 0x42a2ea
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00444630
add esp, 8
test eax, eax
jne 0x42a265
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x4291a2
mov eax, dword [eax*4 + 0x4e07e0]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x4291b0
mov dword [edi + 0x3c], ecx
jmp 0x4291b6
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 0x4292e6
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42a246
test byte [eax + 0x44], 2
je 0x42920f
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 0x4291fd
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.0043e320
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 0x429245
add ecx, 4
jmp 0x42924b
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 0x4292e6
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x429273
mov dword [edi + 0x3c], ecx
jmp 0x429279
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 0x4292af
test byte [edi + 0x16a], 0x40
je 0x4292af
test byte [edi + 0x16b], 8
je 0x4292af
cmp dword [ebp - 0x1c4], 1
je 0x4292b4
mov dword [edi + 0x44], eax
jmp 0x4292e6
mov eax, dword [ebp - 0x1ec]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x4292e6
push 0x464
push str.for_wseq_fmt.c
push 2
push 8
call fcn.00424130
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x429306
test byte [edi + 0x16a], 0x40
je 0x429306
test byte [edi + 0x16b], 8
je 0x429306
cmp byte [edi + 0x154], 1
je 0x429353
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x42932e
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x429353
cmp edx, 6
je 0x429353
cmp edx, 8
je 0x429353
dec eax
mov dword [edi + 0x44], eax
jmp 0x429353
cmp edx, 1
jne 0x429353
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42934d
cmp edx, 6
je 0x42934d
cmp edx, 8
je 0x42934d
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.004be150
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x428f99
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x428f99
cmp ebx, 2
jge 0x428f99
jmp 0x42a35b
test byte [edi + 0x168], 4
je 0x4293b3
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x428f99
or byte [edi + 0x16d], 0x40
jmp 0x428f99
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42a7eb
cmp edx, 2
je 0x42a7cc
test byte [esi + 0x4e], 0x20
jne 0x429482
test byte [edi + 0x168], 2
je 0x429418
test eax, 0x80
je 0x429418
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.00440700
add esp, 0x14
test eax, eax
jne 0x42a657
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42a638
test byte [eax + 0x44], 2
je 0x429458
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 0x429446
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.0043e320
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 0x4294a1
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x4294a1
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1c8], 1
jmp 0x4294ab
mov dword [ebp - 0x1c8], 0
cmp dword [edi + 0x128], 0
je 0x4294d9
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x4294d9
cmp dword [edi + 0x130], 0
jne 0x429724
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x4294f1
cmp byte [edi + 0x156], 1
je 0x42a680
push edi
call fcn.00443140
add esp, 4
test eax, eax
jne 0x42a75b
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00444630
add esp, 8
test eax, eax
jne 0x42a6d6
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42954a
mov eax, dword [eax*4 + 0x4e0800]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x429558
mov dword [edi + 0x3c], ecx
jmp 0x42955e
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 0x42968e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42a6b7
test byte [eax + 0x44], 2
je 0x4295b7
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 0x4295a5
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.0043e320
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 0x4295ed
add ecx, 4
jmp 0x4295f3
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 0x42968e
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42961b
mov dword [edi + 0x3c], ecx
jmp 0x429621
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 0x429657
test byte [edi + 0x16a], 0x40
je 0x429657
test byte [edi + 0x16b], 8
je 0x429657
cmp dword [ebp - 0x1e4], 1
je 0x42965c
mov dword [edi + 0x44], eax
jmp 0x42968e
mov eax, dword [ebp - 0x3b8]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x42968e
push 0x534
push str.for_wseq_fmt.c
push 2
push 8
call fcn.00424130
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x4296ae
test byte [edi + 0x16a], 0x40
je 0x4296ae
test byte [edi + 0x16b], 8
je 0x4296ae
cmp byte [edi + 0x154], 1
je 0x4296fb
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x4296d6
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x4296fb
cmp edx, 6
je 0x4296fb
cmp edx, 8
je 0x4296fb
dec eax
mov dword [edi + 0x44], eax
jmp 0x4296fb
cmp edx, 1
jne 0x4296fb
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x4296f5
cmp edx, 6
je 0x4296f5
cmp edx, 8
je 0x4296f5
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.004be150
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
cmp dword [ebp - 0x1c8], 0
je 0x429734
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x428f99
cmp ebx, 1
jle 0x42981b
mov eax, dword [ebp - 0x36c]
cmp eax, 7
je 0x42975c
cmp eax, 8
jne 0x4297e9
cmp dword [ebp - 0x20], 0
je 0x42977b
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x429a0f
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x368]
je 0x42978f
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x4297c3
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 0x4297a0
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.004409b0
add esp, 0xc
jmp 0x429804
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x4297fb
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 0x429a0f
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.00440490
add esp, 0x10
test eax, eax
jne 0x42ab5f
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x42ac8d
cmp ecx, 1
je 0x42a36a
mov eax, dword [ebp - 0x36c]
cmp eax, 7
jl 0x42997b
cmp eax, 8
jg 0x42997b
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x429888
mov eax, dword [ebp - 0x1d4]
cdq
idiv ebx
mov ebx, eax
jmp 0x42989b
test byte [edi + 0x168], 2
je 0x42996d
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x42996f
cmp ecx, 0x34
je 0x4298b2
cmp ecx, 0x1c
jl 0x4298bf
cmp ecx, 0x2c
jg 0x4298bf
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x4298c6
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x368]
test eax, eax
jle 0x429912
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 0x4298d8
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x429944
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 0x429921
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.004409b0
add esp, 0xc
jmp 0x4299fe
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x429a15
cmp eax, 6
je 0x429985
cmp eax, 5
jne 0x4299dc
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 0x4299ba
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x4299c5
jmp 0x429a0f
test ecx, ecx
jne 0x4299c3
mov ebx, 0
je 0x429a0f
test ebx, ebx
jne 0x4299fe
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x429a15
cmp ecx, 0x34
je 0x4299eb
cmp ecx, 0x1c
jl 0x4299f9
cmp ecx, 0x2c
jg 0x4299f9
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x4299fe
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x429a31
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x429a28
mov dword [esi + 0xc], 2
jmp 0x428f99
inc eax
mov dword [esi + 0xc], eax
jmp 0x428f99
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x429a6d
mov eax, dword [ecx*4 + 0x4e38c0]
test eax, eax
je 0x429a6d
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x429a6d
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x429a80
mov eax, dword [eax*4 + 0x4e0820]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429ac1
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 + 0x4e3760]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a7f9
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429f03
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x429f03
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4e3760]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a820
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429b3f
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 + 0x4e3b2d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a847
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429f03
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429b82
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 + 0x4e3b1b]
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429f03
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429c23
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3bc], eax
jge 0x42a86e
cmp dword [ebp - 0x3bc], 5
jl 0x429bf3
cmp dword [ebp - 0x3bc], 0x11
jg 0x429bf3
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 + 0x4e3b1b]
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429f03
cmp dword [ebp - 0x3bc], 0x39
je 0x429c09
cmp dword [ebp - 0x3bc], 0x38
jne 0x429e0e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429acd
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1d0]
jne 0x429c80
cmp eax, 5
jl 0x429c67
cmp eax, 0x11
jg 0x429c67
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e3b1b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
jmp 0x429c80
cmp eax, 0x39
je 0x429c71
cmp eax, 0x38
jne 0x429c80
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
jge case.0x429a80.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429cd2
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 + 0x4e371a]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429f03
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429ef9
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e3b2d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a8d2
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x429e0e
cmp eax, 0x11
jg 0x429e0e
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x429e0e
cmp eax, 0x11
jg 0x429e0e
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4e3b1b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429acd
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3b4], eax
jge 0x42a8f9
cmp dword [ebp - 0x3b4], 5
jl 0x429dc8
cmp dword [ebp - 0x3b4], 0x11
jg 0x429dc8
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4e3b1b]
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429acd
cmp dword [ebp - 0x3b4], 0x39
je 0x429dda
cmp dword [ebp - 0x3b4], 0x38
jne 0x429e0e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429acd
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x1e0], eax
jl 0x429e0e
cmp dword [ebp - 0x1e0], 0x34
jle 0x429e7a
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x429ed6
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a946
test byte [edx + 0x44], 2
je 0x429e55
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x429e48
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.0043e320
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 + 0x4e3718]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4e371c]
movzx eax, word [eax*8 + 0x4e371e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x429ed4
jmp 0x429acd
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429ed4
jmp 0x429acd
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x429ef9
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x429ef1
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x429eee
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x429e1f
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x429fad
cmp edx, 0x40
ja 0x429f24
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x28], eax
jmp 0x429f41
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00435ac0
add esp, 0xc
test eax, eax
jne 0x42a9d1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004be150
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00441190
add esp, 0x18
test eax, eax
je 0x429f7c
cmp eax, 0x3f
jne 0x42a960
test byte [edi + 0x16f], 8
jne 0x429f7c
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x429f98
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x429fad
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x429f83
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x429fad
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 0x429ff4
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x429fd9
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x429fe2
mov eax, edx
push eax
push edi
call fcn.00440790
add esp, 8
test eax, eax
jne 0x42aada
movzx eax, byte [esi + 0x50]
test al, 2
je 0x42a068
cmp dword [esi + 0x38], 0
je 0x42a045
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 0x42aa42
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x42aa42
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 0x42a01d
jmp 0x42aa42
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x42a063
push dword [ebp - 0x24]
call fcn.00435b80
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x42a08c
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00441190
add esp, 0xc
test eax, eax
jne 0x42aa4b
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x42a095
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x428f99
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a0f4
test byte [edx + 0x44], 2
je 0x42a0cf
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a0c2
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.0043e320
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.00422060
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 0x428fd9
cmp ebx, 1
jg 0x428fd9
or eax, 0x40
jmp 0x428fdc
cmp dword [ebp - 0x20], 0
jne 0x428fcd
cmp ebx, 1
jg 0x428fcd
or eax, 0x20
jmp 0x428fd9
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x42a14f
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 0x42a16c
mov ebx, dword [ebp - 0x1e8]
jmp 0x4290e6
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42a1f0
test byte [eax + 0x44], 2
je 0x42a1c6
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 0x42a1b4
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.0043e320
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.00422060
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 0x42a239
cmp edx, 0x2b
jne 0x42a22b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x429149
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42a22b
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00422060
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 0x42a2cb
test byte [eax + 0x44], 2
je 0x42a2a1
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 0x42a28f
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.0043e320
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.00422060
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 0x42a341
test byte [edx + 0x44], 2
je 0x42a31c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a30f
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.0043e320
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.00422060
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 0x42a574
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42a37d
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x42a461
cmp dword [edi + 0x128], 0
jne 0x42a395
cmp dword [ebp - 0x18], 0
je 0x42a3c5
cmp dword [edi + 0x130], 0
je 0x42a3c5
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x42a3b8
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x42a3c5
cmp dword [edi + 0x130], 0
jne 0x42a461
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x42a3dd
cmp byte [edi + 0x156], 1
je 0x42a601
push edi
call fcn.00443140
add esp, 4
test eax, eax
je 0x42a445
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a5b3
test byte [edx + 0x44], 2
je 0x42a420
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a413
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.0043e320
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 0x42a4d9
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00435b80
add esp, 4
test eax, eax
je 0x42a4d9
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a5cd
test byte [edx + 0x44], 2
je 0x42a4b4
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a4a7
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.0043e320
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 0x42a541
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42a5e7
test byte [eax + 0x44], 2
je 0x42a51c
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 0x42a50c
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.0043e320
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.00439560
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 0x42a58f
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.004403f0
add esp, 0xc
cmp eax, 2
je 0x42a579
cmp eax, 1
jne 0x428f99
jmp 0x42a36a
push edi
push eax
push eax
push 1
call fcn.00422060
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.00422060
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.00422060
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 0x42a62b
cmp edx, 0x2b
jne 0x42a61d
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x42a3dd
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42a61d
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00422060
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 0x42a36a
cmp ebx, 2
jge 0x42a36a
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 0x42a6aa
cmp edx, 0x2b
jne 0x42a69c
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x4294f1
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42a69c
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00422060
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 0x42a73c
test byte [eax + 0x44], 2
je 0x42a712
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 0x42a700
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.0043e320
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.00422060
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 0x42a7b2
test byte [edx + 0x44], 2
je 0x42a78d
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a780
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.0043e320
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.00422060
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 0x429482
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 0x42a36a
jmp 0x429482
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42a80f
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429f03
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42a836
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42a85d
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429f03
cmp dword [ebp - 0x3bc], 0x34
jg 0x429bf3
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4e3718]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x42a8af
mov eax, dword [ebp - 0x3bc]
movzx eax, word [eax*8 + 0x4e371c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3bc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4e371e]
mov word [esi + 0x42], ax
jb 0x429ed4
jmp 0x429f03
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42a8e8
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429ed4
jmp 0x429acd
cmp dword [ebp - 0x3b4], 0x34
jg 0x429dc8
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4e3718]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4e371c]
movzx eax, word [eax*8 + 0x4e371e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x429ed4
jmp 0x429acd
push edi
push eax
push eax
push 1
call fcn.00422060
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 0x42a9b7
test byte [edx + 0x44], 2
je 0x42a992
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a985
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.0043e320
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.00422060
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 0x42aa28
test byte [edx + 0x44], 2
je 0x42aa03
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a9f6
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.0043e320
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.00422060
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 0x42a045
cmp eax, 0x3f
jne 0x42aa69
test byte [edi + 0x16f], 8
jne 0x42a083
mov dword [esi + 0x10], 0x3f
jmp 0x42a083
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42aac0
test byte [edx + 0x44], 2
je 0x42aa9b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42aa8e
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.0043e320
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.00422060
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 0x42ab40
test byte [eax + 0x44], 2
je 0x42ab16
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 0x42ab04
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.0043e320
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.00422060
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 0x42abb6
test byte [edx + 0x44], 2
je 0x42ab91
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ab84
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.0043e320
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.00422060
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 0x42ac27
test byte [edx + 0x44], 2
je 0x42ac02
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42abf5
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.0043e320
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.00422060
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 0x429033
cmp ebx, 1
jg 0x429033
or eax, 0x40
jmp 0x429036
cmp dword [ebp - 0x20], 0
jne 0x429023
cmp ebx, 1
jg 0x429023
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x429033
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 0x42aca2
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