Function at 0x429636
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 0x42a55e
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 0x4288c4
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42890a
test al, 0x20
je 0x42890a
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x4299d9
and eax, 0xffffffdf
cmp ecx, 1
je 0x4299be
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.0043f4c0
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x42994d
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x4288b6
test al, 0x20
jne 0x42a52b
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x42890a
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42a50c
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x42a4f1
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.0043f4c0
add esp, 4
test eax, eax
jne 0x42a480
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42890a
test al, 0x20
jne 0x4299f4
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x428921.3
mov edx, dword [edx*4 + 0x4da880]
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 0x428989
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x428962
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x42896b
mov edx, eax
push edx
push edi
call fcn.0043a1a0
add esp, 8
test eax, eax
jne 0x429a3a
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jg 0x429a0e
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x4289a9
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x428849
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x4289d7
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x4289d7
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x4289e1
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x4289f9
cmp byte [edi + 0x156], 1
je 0x429abf
push edi
call fcn.00437160
add esp, 4
test eax, eax
jne 0x429b9a
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00438650
add esp, 8
test eax, eax
jne 0x429b15
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x428a52
mov eax, dword [eax*4 + 0x4da900]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x428a60
mov dword [edi + 0x3c], ecx
jmp 0x428a66
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 0x428b96
mov eax, dword [edi + 0x18]
test eax, eax
je 0x429af6
test byte [eax + 0x44], 2
je 0x428abf
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 0x428aad
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.004307f0
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 0x428af5
add ecx, 4
jmp 0x428afb
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 0x428b96
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x428b23
mov dword [edi + 0x3c], ecx
jmp 0x428b29
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 0x428b5f
test byte [edi + 0x16a], 0x40
je 0x428b5f
test byte [edi + 0x16b], 8
je 0x428b5f
cmp dword [ebp - 0x1c4], 1
je 0x428b64
mov dword [edi + 0x44], eax
jmp 0x428b96
mov eax, dword [ebp - 0x1ec]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x428b96
push 0x464
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0041e890
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x428bb6
test byte [edi + 0x16a], 0x40
je 0x428bb6
test byte [edi + 0x16b], 8
je 0x428bb6
cmp byte [edi + 0x154], 1
je 0x428c03
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x428bde
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x428c03
cmp edx, 6
je 0x428c03
cmp edx, 8
je 0x428c03
dec eax
mov dword [edi + 0x44], eax
jmp 0x428c03
cmp edx, 1
jne 0x428c03
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x428bfd
cmp edx, 6
je 0x428bfd
cmp edx, 8
je 0x428bfd
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.004b94a0
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x428849
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x428849
cmp ebx, 2
jge 0x428849
jmp 0x429c0b
test byte [edi + 0x168], 4
je 0x428c63
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x428849
or byte [edi + 0x16d], 0x40
jmp 0x428849
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42a09b
cmp edx, 2
je 0x42a07c
test byte [esi + 0x4e], 0x20
jne 0x428d32
test byte [edi + 0x168], 2
je 0x428cc8
test eax, 0x80
je 0x428cc8
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.00435f00
add esp, 0x14
test eax, eax
jne 0x429f07
mov eax, dword [edi + 0x18]
test eax, eax
je 0x429ee8
test byte [eax + 0x44], 2
je 0x428d08
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 0x428cf6
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.004307f0
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 0x428d51
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x428d51
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1c8], 1
jmp 0x428d5b
mov dword [ebp - 0x1c8], 0
cmp dword [edi + 0x128], 0
je 0x428d89
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x428d89
cmp dword [edi + 0x130], 0
jne 0x428fd4
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x428da1
cmp byte [edi + 0x156], 1
je 0x429f30
push edi
call fcn.00437160
add esp, 4
test eax, eax
jne 0x42a00b
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00438650
add esp, 8
test eax, eax
jne 0x429f86
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x428dfa
mov eax, dword [eax*4 + 0x4da920]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x428e08
mov dword [edi + 0x3c], ecx
jmp 0x428e0e
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 0x428f3e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x429f67
test byte [eax + 0x44], 2
je 0x428e67
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 0x428e55
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.004307f0
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 0x428e9d
add ecx, 4
jmp 0x428ea3
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 0x428f3e
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x428ecb
mov dword [edi + 0x3c], ecx
jmp 0x428ed1
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 0x428f07
test byte [edi + 0x16a], 0x40
je 0x428f07
test byte [edi + 0x16b], 8
je 0x428f07
cmp dword [ebp - 0x1e4], 1
je 0x428f0c
mov dword [edi + 0x44], eax
jmp 0x428f3e
mov eax, dword [ebp - 0x3b8]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x428f3e
push 0x534
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0041e890
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x428f5e
test byte [edi + 0x16a], 0x40
je 0x428f5e
test byte [edi + 0x16b], 8
je 0x428f5e
cmp byte [edi + 0x154], 1
je 0x428fab
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x428f86
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x428fab
cmp edx, 6
je 0x428fab
cmp edx, 8
je 0x428fab
dec eax
mov dword [edi + 0x44], eax
jmp 0x428fab
cmp edx, 1
jne 0x428fab
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x428fa5
cmp edx, 6
je 0x428fa5
cmp edx, 8
je 0x428fa5
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.004b94a0
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
cmp dword [ebp - 0x1c8], 0
je 0x428fe4
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x428849
cmp ebx, 1
jle 0x4290cb
mov eax, dword [ebp - 0x36c]
cmp eax, 7
je 0x42900c
cmp eax, 8
jne 0x429099
cmp dword [ebp - 0x20], 0
je 0x42902b
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x4292bf
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x368]
je 0x42903f
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x429073
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 0x429050
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.0043a3c0
add esp, 0xc
jmp 0x4290b4
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x4290ab
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 0x4292bf
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.00435c90
add esp, 0x10
test eax, eax
jne 0x42a40f
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x42a53d
cmp ecx, 1
je 0x429c1a
mov eax, dword [ebp - 0x36c]
cmp eax, 7
jl 0x42922b
cmp eax, 8
jg 0x42922b
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x429138
mov eax, dword [ebp - 0x1d4]
cdq
idiv ebx
mov ebx, eax
jmp 0x42914b
test byte [edi + 0x168], 2
je 0x42921d
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x42921f
cmp ecx, 0x34
je 0x429162
cmp ecx, 0x1c
jl 0x42916f
cmp ecx, 0x2c
jg 0x42916f
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x429176
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x368]
test eax, eax
jle 0x4291c2
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 0x429188
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x4291f4
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 0x4291d1
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.0043a3c0
add esp, 0xc
jmp 0x4292ae
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x4292c5
cmp eax, 6
je 0x429235
cmp eax, 5
jne 0x42928c
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 0x42926a
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x429275
jmp 0x4292bf
test ecx, ecx
jne 0x429273
mov ebx, 0
je 0x4292bf
test ebx, ebx
jne 0x4292ae
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x4292c5
cmp ecx, 0x34
je 0x42929b
cmp ecx, 0x1c
jl 0x4292a9
cmp ecx, 0x2c
jg 0x4292a9
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x4292ae
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x4292e1
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x4292d8
mov dword [esi + 0xc], 2
jmp 0x428849
inc eax
mov dword [esi + 0xc], eax
jmp 0x428849
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x42931d
mov eax, dword [ecx*4 + 0x4dcb20]
test eax, eax
je 0x42931d
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x42931d
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x429330
mov eax, dword [eax*4 + 0x4da940]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429371
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 + 0x4dc9c0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a0a9
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x4297b3
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x4297b3
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4dc9c0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a0d0
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4293ef
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 + 0x4dcd8d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a0f7
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x4297b3
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429432
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 + 0x4dcd7b]
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x4297b3
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4294d3
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3bc], eax
jge 0x42a11e
cmp dword [ebp - 0x3bc], 5
jl 0x4294a3
cmp dword [ebp - 0x3bc], 0x11
jg 0x4294a3
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 + 0x4dcd7b]
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x4297b3
cmp dword [ebp - 0x3bc], 0x39
je 0x4294b9
cmp dword [ebp - 0x3bc], 0x38
jne 0x4296be
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x42937d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1d0]
jne 0x429530
cmp eax, 5
jl 0x429517
cmp eax, 0x11
jg 0x429517
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4dcd7b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
jmp 0x429530
cmp eax, 0x39
je 0x429521
cmp eax, 0x38
jne 0x429530
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
jge case.0x429330.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x429582
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 + 0x4dc97a]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429784
jmp 0x4297b3
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x4297a9
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4dcd8d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42a182
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x4296be
cmp eax, 0x11
jg 0x4296be
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x4296be
cmp eax, 0x11
jg 0x4296be
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4dcd7b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x42937d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3b4], eax
jge 0x42a1a9
cmp dword [ebp - 0x3b4], 5
jl 0x429678
cmp dword [ebp - 0x3b4], 0x11
jg 0x429678
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4dcd7b]
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x42937d
cmp dword [ebp - 0x3b4], 0x39
je 0x42968a
cmp dword [ebp - 0x3b4], 0x38
jne 0x4296be
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x42937d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x1e0], eax
jl 0x4296be
cmp dword [ebp - 0x1e0], 0x34
jle 0x42972a
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x429786
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a1f6
test byte [edx + 0x44], 2
je 0x429705
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4296f8
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.004307f0
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 + 0x4dc978]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4dc97c]
movzx eax, word [eax*8 + 0x4dc97e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x429784
jmp 0x42937d
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x429784
jmp 0x42937d
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x4297a9
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x4297a1
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x42979e
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x4296cf
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x42985d
cmp edx, 0x40
ja 0x4297d4
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x28], eax
jmp 0x4297f1
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.004267d0
add esp, 0xc
test eax, eax
jne 0x42a281
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004b94a0
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043b4b0
add esp, 0x18
test eax, eax
je 0x42982c
cmp eax, 0x3f
jne 0x42a210
test byte [edi + 0x16f], 8
jne 0x42982c
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x429848
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x42985d
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x429833
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x42985d
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 0x4298a4
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x429889
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x429892
mov eax, edx
push eax
push edi
call fcn.0043a1a0
add esp, 8
test eax, eax
jne 0x42a38a
movzx eax, byte [esi + 0x50]
test al, 2
je 0x429918
cmp dword [esi + 0x38], 0
je 0x4298f5
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 0x42a2f2
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x42a2f2
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 0x4298cd
jmp 0x42a2f2
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x429913
push dword [ebp - 0x24]
call fcn.00426890
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x42993c
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043b4b0
add esp, 0xc
test eax, eax
jne 0x42a2fb
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x429945
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x428849
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4299a4
test byte [edx + 0x44], 2
je 0x42997f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x429972
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.004307f0
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.0041c7c0
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 0x428889
cmp ebx, 1
jg 0x428889
or eax, 0x40
jmp 0x42888c
cmp dword [ebp - 0x20], 0
jne 0x42887d
cmp ebx, 1
jg 0x42887d
or eax, 0x20
jmp 0x428889
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x4299ff
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 0x429a1c
mov ebx, dword [ebp - 0x1e8]
jmp 0x428996
mov eax, dword [edi + 0x18]
test eax, eax
je 0x429aa0
test byte [eax + 0x44], 2
je 0x429a76
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 0x429a64
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.004307f0
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.0041c7c0
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 0x429ae9
cmp edx, 0x2b
jne 0x429adb
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x4289f9
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x429adb
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0041c7c0
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 0x429b7b
test byte [eax + 0x44], 2
je 0x429b51
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 0x429b3f
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.004307f0
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.0041c7c0
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 0x429bf1
test byte [edx + 0x44], 2
je 0x429bcc
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x429bbf
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.004307f0
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.0041c7c0
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 0x429e24
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x429c2d
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x429d11
cmp dword [edi + 0x128], 0
jne 0x429c45
cmp dword [ebp - 0x18], 0
je 0x429c75
cmp dword [edi + 0x130], 0
je 0x429c75
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x429c68
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x429c75
cmp dword [edi + 0x130], 0
jne 0x429d11
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x429c8d
cmp byte [edi + 0x156], 1
je 0x429eb1
push edi
call fcn.00437160
add esp, 4
test eax, eax
je 0x429cf5
mov edx, dword [edi + 0x18]
test edx, edx
je 0x429e63
test byte [edx + 0x44], 2
je 0x429cd0
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x429cc3
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.004307f0
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 0x429d89
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00426890
add esp, 4
test eax, eax
je 0x429d89
mov edx, dword [edi + 0x18]
test edx, edx
je 0x429e7d
test byte [edx + 0x44], 2
je 0x429d64
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x429d57
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.004307f0
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 0x429df1
mov eax, dword [edi + 0x18]
test eax, eax
je 0x429e97
test byte [eax + 0x44], 2
je 0x429dcc
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 0x429dbc
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.004307f0
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.0042b2a0
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 0x429e3f
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.00435bf0
add esp, 0xc
cmp eax, 2
je 0x429e29
cmp eax, 1
jne 0x428849
jmp 0x429c1a
push edi
push eax
push eax
push 1
call fcn.0041c7c0
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.0041c7c0
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.0041c7c0
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 0x429edb
cmp edx, 0x2b
jne 0x429ecd
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x429c8d
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x429ecd
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.0041c7c0
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 0x429c1a
cmp ebx, 2
jge 0x429c1a
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 0x429f5a
cmp edx, 0x2b
jne 0x429f4c
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x428da1
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x429f4c
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0041c7c0
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 0x429fec
test byte [eax + 0x44], 2
je 0x429fc2
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 0x429fb0
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.004307f0
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.0041c7c0
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 0x42a062
test byte [edx + 0x44], 2
je 0x42a03d
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a030
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.004307f0
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.0041c7c0
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 0x428d32
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 0x429c1a
jmp 0x428d32
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42a0bf
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429784
jmp 0x4297b3
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42a0e6
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42a10d
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429784
jmp 0x4297b3
cmp dword [ebp - 0x3bc], 0x34
jg 0x4294a3
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4dc978]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x42a15f
mov eax, dword [ebp - 0x3bc]
movzx eax, word [eax*8 + 0x4dc97c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3bc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4dc97e]
mov word [esi + 0x42], ax
jb 0x429784
jmp 0x4297b3
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42a198
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x429784
jmp 0x42937d
cmp dword [ebp - 0x3b4], 0x34
jg 0x429678
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4dc978]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4dc97c]
movzx eax, word [eax*8 + 0x4dc97e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x429784
jmp 0x42937d
push edi
push eax
push eax
push 1
call fcn.0041c7c0
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 0x42a267
test byte [edx + 0x44], 2
je 0x42a242
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a235
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.004307f0
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.0041c7c0
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 0x42a2d8
test byte [edx + 0x44], 2
je 0x42a2b3
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a2a6
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.004307f0
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.0041c7c0
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 0x4298f5
cmp eax, 0x3f
jne 0x42a319
test byte [edi + 0x16f], 8
jne 0x429933
mov dword [esi + 0x10], 0x3f
jmp 0x429933
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42a370
test byte [edx + 0x44], 2
je 0x42a34b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a33e
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.004307f0
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.0041c7c0
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 0x42a3f0
test byte [eax + 0x44], 2
je 0x42a3c6
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 0x42a3b4
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.004307f0
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.0041c7c0
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 0x42a466
test byte [edx + 0x44], 2
je 0x42a441
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a434
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.004307f0
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.0041c7c0
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 0x42a4d7
test byte [edx + 0x44], 2
je 0x42a4b2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42a4a5
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.004307f0
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.0041c7c0
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 0x4288e3
cmp ebx, 1
jg 0x4288e3
or eax, 0x40
jmp 0x4288e6
cmp dword [ebp - 0x20], 0
jne 0x4288d3
cmp ebx, 1
jg 0x4288d3
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x4288e3
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 0x42a552
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