Function at 0x42df30
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3d4
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 0x42ffb8
xor eax, eax
mov ebx, 1
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov edx, dword [esi + 0xc]
cmp edx, 1
jle 0x42e017
mov eax, dword [esi + 0x38]
lea ecx, [edx - 1]
mov dword [ebp - 4], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x3c]
and ecx, 1
mov dword [esi + 0x88], eax
add ecx, ecx
movzx eax, byte [esi + 0xa0]
and eax, 0xfffffffd
or eax, ecx
mov byte [esi + 0xa0], al
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x42e066
test al, 0x20
je 0x42e066
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x42f3af
and eax, 0xffffffdf
cmp ecx, 1
je 0x42f38e
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
mov dword [ebp - 0x38], edx
call fcn.004454b0
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x42f31d
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x42e006
test al, 0x20
jne 0x42ff85
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x9f], al
jmp 0x42e066
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42ff63
movzx eax, byte [esi + 0x9f]
and eax, 0xffffffdf
cmp edx, 1
je 0x42ff42
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
call fcn.004454b0
add esp, 4
test eax, eax
jne 0x42fed1
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x42e066
test al, 0x20
jne 0x42f3ca
movsx edx, byte [esi + 0x98]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x42e079.3
jmp dword [edx*4 + 0x4de9c0]
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x3c]
mov ecx, dword [esi + 0x88]
mov dword [ebp - 0x44], ecx
mov edx, dword [edi + 0x44]
mov dword [ebp - 0x4c], edx
add ecx, eax
cmp edx, ecx
jb 0x42f410
cmp dword [ebp - 0x44], 0
jg 0x42f3e4
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x42e0c2
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x179], 0x80
jmp 0x42df69
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42e0eb
cmp byte [eax + 0x1e], 0
je 0x42e0eb
mov byte [eax + 0x1e], 0
mov dword [ebp - 0x48], 1
jmp 0x42e0f2
mov dword [ebp - 0x48], 0
movzx eax, byte [edi + 0x175]
test al, 0x40
je 0x42e10a
cmp byte [edi + 0x15e], 1
je 0x42f4d5
push edi
call fcn.00428260
add esp, 4
test eax, eax
jne 0x42f5b0
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x177], 0xfb
call fcn.00429600
add esp, 8
test eax, eax
jne 0x42f52b
movsx eax, byte [edi + 0x15c]
mov dword [ebp - 0x54], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42e159
jmp dword [eax*4 + 0x4dea40]
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e16c
mov dword [edi + 0x3c], ecx
jmp 0x42e172
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x170]
lea eax, [ecx + eax - 1]
mov dword [edi + 0x44], eax
jmp 0x42e29c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f50c
test byte [eax + 0x44], 2
je 0x42e1cb
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 0x42e1b9
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 0x42e201
add ecx, 4
jmp 0x42e207
mov ecx, dword [edi + 0x38]
add ecx, 4
mov eax, dword [edi + 0xf8]
mov dword [edi + 0x3c], ecx
movzx edx, byte [edi + 0x170]
lea eax, [ecx + eax - 8]
mov dword [edi + 0x44], eax
jmp 0x42e29c
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e22c
mov dword [edi + 0x3c], ecx
jmp 0x42e232
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0xf8]
movzx edx, byte [edi + 0x170]
test dl, 4
mov dword [ebp - 0x200], eax
lea eax, [ecx + eax]
je 0x42e265
test byte [edi + 0x172], 0x40
je 0x42e265
test byte [edi + 0x173], 8
je 0x42e265
cmp dword [ebp - 0x54], 1
je 0x42e26a
mov dword [edi + 0x44], eax
jmp 0x42e29c
mov eax, dword [ebp - 0x200]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x42e29c
push 0x472
push str.for_wseq_fmt.c
push 2
push 8
call fcn.00411860
add esp, 0x10
movzx edx, byte [edi + 0x170]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x42e2bc
test byte [edi + 0x172], 0x40
je 0x42e2bc
test byte [edi + 0x173], 8
je 0x42e2bc
cmp byte [edi + 0x15c], 1
je 0x42e309
movsx edx, byte [edi + 0x15e]
cmp edx, 2
jne 0x42e2e4
movsx edx, byte [edi + 0x15c]
cmp edx, 7
je 0x42e309
cmp edx, 6
je 0x42e309
cmp edx, 8
je 0x42e309
dec eax
mov dword [edi + 0x44], eax
jmp 0x42e309
cmp edx, 1
jne 0x42e309
movsx edx, byte [edi + 0x15c]
cmp edx, 7
je 0x42e303
cmp edx, 6
je 0x42e303
cmp edx, 8
je 0x42e303
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.004bfb10
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x48], 0
je 0x42df69
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x42df69
cmp ebx, 2
jge 0x42df69
jmp 0x42f621
test byte [edi + 0x170], 4
je 0x42e366
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x42df69
or byte [edi + 0x175], 0x40
jmp 0x42df69
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42fb01
cmp edx, 2
je 0x42fae2
test byte [esi + 0x9e], 0x20
jne 0x42e438
test byte [edi + 0x170], 2
je 0x42e3ce
test eax, 0x80
je 0x42e3ce
push ebx
lea eax, [ebp - 0x380]
push eax
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.00430c40
add esp, 0x14
test eax, eax
jne 0x42f945
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f926
test byte [eax + 0x44], 2
je 0x42e40e
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 0x42e3fc
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 eax, dword [edi + 0x7c]
test eax, eax
je 0x42e450
cmp byte [eax + 0x1e], 0
je 0x42e450
mov byte [eax + 0x1e], 0
mov edx, 1
jmp 0x42e452
xor edx, edx
cmp dword [edi + 0x128], 0
je 0x42e480
movzx eax, byte [edi + 0x179]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x42e480
cmp dword [edi + 0x130], 0
jne 0x42e75c
movzx eax, byte [edi + 0x175]
test al, 0x40
mov dword [ebp - 0x1e4], eax
je 0x42e49e
cmp byte [edi + 0x15e], 1
je 0x42f96e
push edi
mov dword [ebp - 0x1e0], edx
call fcn.00428260
mov edx, dword [ebp - 0x1e0]
add esp, 4
test eax, eax
jne 0x42fa71
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x177], 0xfb
mov dword [ebp - 0x1e0], edx
call fcn.00429600
mov edx, dword [ebp - 0x1e0]
add esp, 8
test eax, eax
jne 0x42f9ec
movsx eax, byte [edi + 0x15c]
mov dword [ebp - 0x1e8], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42e508
jmp dword [eax*4 + 0x4dea60]
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42e51b
mov dword [edi + 0x3c], eax
jmp 0x42e521
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov ecx, dword [edi + 0xf8]
lea ecx, [eax + ecx - 1]
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
movzx ecx, byte [edi + 0x170]
mov dword [ebp - 0x1f0], ecx
jmp 0x42e698
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f9b7
test byte [eax + 0x44], 2
je 0x42e586
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 0x42e574
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 eax, dword [edi + 0x40]
test eax, eax
je 0x42e5bc
add eax, 4
jmp 0x42e5c2
mov eax, dword [edi + 0x38]
add eax, 4
mov ecx, dword [edi + 0xf8]
mov dword [edi + 0x3c], eax
lea ecx, [eax + ecx - 8]
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
movzx ecx, byte [edi + 0x170]
mov dword [ebp - 0x1f0], ecx
jmp 0x42e698
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42e5f6
mov dword [edi + 0x3c], eax
jmp 0x42e5fc
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov ecx, dword [edi + 0xf8]
mov dword [ebp - 0x3d0], ecx
add ecx, eax
mov dword [ebp - 0x1f4], ecx
movzx ecx, byte [edi + 0x170]
test cl, 4
mov dword [ebp - 0x1f0], ecx
je 0x42e63d
test byte [edi + 0x172], 0x40
je 0x42e63d
test byte [edi + 0x173], 8
je 0x42e63d
cmp dword [ebp - 0x1e8], 1
je 0x42e648
mov ecx, dword [ebp - 0x1f4]
mov dword [edi + 0x44], ecx
jmp 0x42e698
mov ecx, dword [ebp - 0x3d0]
lea ecx, [eax + ecx - 2]
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x42e698
push 0x544
push str.for_wseq_fmt.c
push 2
push 8
mov dword [ebp - 0x1e0], edx
call fcn.00411860
mov edx, dword [ebp - 0x1e0]
add esp, 0x10
movzx eax, byte [edi + 0x170]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x1f0], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1f4], ecx
test byte [ebp - 0x1f0], 4
je 0x42e6bc
test byte [edi + 0x172], 0x40
je 0x42e6bc
test byte [edi + 0x173], 8
je 0x42e6bc
cmp byte [edi + 0x15c], 1
je 0x42e721
movsx ecx, byte [edi + 0x15e]
cmp ecx, 2
jne 0x42e6f0
movsx ecx, byte [edi + 0x15c]
cmp ecx, 7
je 0x42e721
cmp ecx, 6
je 0x42e721
cmp ecx, 8
je 0x42e721
mov ecx, dword [ebp - 0x1f4]
dec ecx
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x42e721
cmp ecx, 1
jne 0x42e721
movsx ecx, byte [edi + 0x15c]
cmp ecx, 7
je 0x42e71b
cmp ecx, 6
je 0x42e71b
cmp ecx, 8
je 0x42e71b
mov ecx, dword [ebp - 0x1f4]
dec ecx
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
add eax, 5
mov dword [edi + 0x3c], eax
mov ecx, dword [ebp - 0x1f4]
sub ecx, eax
push ecx
push 0x20
push eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], 0
mov dword [ebp - 0x1e0], edx
call fcn.004bfb10
mov edx, dword [ebp - 0x1e0]
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x179], 0x7f
test edx, edx
je 0x42e767
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
push ebx
mov eax, dword [edi + 0x3c]
lea edx, [ebp + 0x10]
push edx
mov dword [edi + 0x4c], eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.004308f0
add esp, 0xc
cmp eax, 1
jne 0x42df69
jmp 0x42f9d6
cmp ebx, 1
jle 0x42e8b8
mov eax, dword [ebp - 0x380]
cmp eax, 7
je 0x42e7a9
cmp eax, 8
jne 0x42e886
cmp dword [ebp - 0x20], 0
je 0x42e7c8
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x42eb7d
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
je 0x42e7d6
mov eax, 1
mov edx, dword [ebp - 0x37c]
test edx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], edx
jle 0x42e85e
mov eax, edx
mov edx, eax
shr edx, 0x1f
add edx, eax
xor eax, eax
sar edx, 1
test edx, edx
jbe 0x42fb0f
mov dword [ebp - 0x40], edi
xor ecx, ecx
mov edi, dword [ebp + ecx*8 - 0x1c8]
sub edi, dword [ebp + ecx*8 - 0xd0]
imul edi, dword [ebp + ecx*8 - 0x14c]
add eax, edi
mov edi, dword [ebp + ecx*8 - 0x1c4]
sub edi, dword [ebp + ecx*8 - 0xcc]
imul edi, dword [ebp + ecx*8 - 0x148]
inc ecx
add eax, edi
cmp ecx, edx
jb 0x42e800
mov edi, dword [ebp - 0x40]
lea edx, [ecx + ecx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x3c]
jae 0x42e860
mov ecx, dword [ebp + edx*4 - 0x1cc]
sub ecx, dword [ebp + edx*4 - 0xd4]
imul ecx, dword [ebp + edx*4 - 0x150]
add eax, ecx
jmp 0x42e860
xor eax, eax
add eax, dword [ebp - 0x378]
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x380]
push eax
push edx
push 0
call fcn.0042b320
add esp, 0xc
jmp 0x42e8a1
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x42e898
mov edx, 0
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], edx
mov dword [edi + 0x128], 0
dec ebx
or byte [edi + 0x179], 0x80
jmp 0x42eb7d
lea eax, [ebp - 0x380]
push eax
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.00430990
add esp, 0x10
test eax, eax
jne 0x42fe60
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x42ff97
cmp ecx, 1
je 0x42f630
mov eax, dword [ebp - 0x380]
cmp eax, 7
jl 0x42eaeb
cmp eax, 8
jg 0x42eaeb
mov eax, dword [ebp - 0x1cc]
test eax, eax
mov dword [ebp - 0x1fc], eax
je 0x42e931
mov eax, dword [ebp - 0x1d4]
cdq
mov ebx, dword [ebp - 0x1fc]
idiv ebx
mov ebx, eax
jmp 0x42e944
test byte [edi + 0x170], 2
je 0x42eadd
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x42eadf
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x42e962
cmp ecx, 0x34
je 0x42e962
mov dword [ebp - 0x1c], 0
jmp 0x42e96d
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x37c]
test eax, eax
mov dword [ebp - 0x384], eax
jle 0x42eab2
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
test edx, edx
jbe 0x42fb23
mov dword [ebp - 0x3c8], esi
xor ecx, ecx
mov dword [ebp - 0x40], edi
lea esi, [esi]
lea eax, [ecx + ecx*2]
mov esi, dword [ebp + eax*8 - 0x36c]
mov dword [ebp + ecx*8 - 0x14c], esi
mov edi, dword [ebp + eax*8 - 0x370]
mov esi, dword [ebp + eax*8 - 0x364]
mov eax, dword [ebp + eax*8 - 0x360]
mov dword [ebp + ecx*8 - 0xd0], edi
mov dword [ebp + ecx*8 - 0x1c8], edi
mov dword [ebp + ecx*8 - 0xcc], esi
mov dword [ebp + ecx*8 - 0x148], eax
mov dword [ebp + ecx*8 - 0x1c4], esi
inc ecx
cmp ecx, edx
jb 0x42e9a0
mov esi, dword [ebp - 0x3c8]
lea edx, [ecx + ecx + 1]
mov edi, dword [ebp - 0x40]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x384]
jae 0x42ea33
lea ecx, [edx*8]
lea ecx, [ecx + edx*4]
mov eax, dword [ebp + ecx - 0x37c]
mov ecx, dword [ebp + ecx - 0x378]
mov dword [ebp + edx*4 - 0xd4], eax
mov dword [ebp + edx*4 - 0x150], ecx
mov dword [ebp + edx*4 - 0x1cc], eax
mov eax, dword [ebp - 0x384]
mov edx, eax
shr edx, 0x1f
add edx, eax
xor eax, eax
sar edx, 1
test edx, edx
jbe 0x42fb19
mov dword [ebp - 0x40], edi
xor ecx, ecx
mov edi, dword [ebp + ecx*8 - 0x1c8]
sub edi, dword [ebp + ecx*8 - 0xd0]
imul edi, dword [ebp + ecx*8 - 0x14c]
add eax, edi
mov edi, dword [ebp + ecx*8 - 0x1c4]
sub edi, dword [ebp + ecx*8 - 0xcc]
imul edi, dword [ebp + ecx*8 - 0x148]
inc ecx
add eax, edi
cmp ecx, edx
jb 0x42ea51
mov edi, dword [ebp - 0x40]
lea edx, [ecx + ecx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x384]
jae 0x42eab4
mov ecx, dword [ebp + edx*4 - 0x1cc]
sub ecx, dword [ebp + edx*4 - 0xd4]
imul ecx, dword [ebp + edx*4 - 0x150]
add eax, ecx
jmp 0x42eab4
xor eax, eax
add eax, dword [ebp - 0x378]
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x380]
push eax
push edx
push 0
call fcn.0042b320
add esp, 0xc
jmp 0x42eb6c
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x42eb83
cmp eax, 6
je 0x42eaf5
cmp eax, 5
jne 0x42eb4c
movzx ecx, byte [edi + 0x170]
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 0x42eb2a
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x42eb35
jmp 0x42eb7d
test ecx, ecx
jne 0x42eb33
mov ebx, 0
je 0x42eb7d
test ebx, ebx
jne 0x42eb6c
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x42eb83
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x42eb60
cmp ecx, 0x34
je 0x42eb60
mov ebx, 1
jmp 0x42eb6c
mov dword [ebp - 0x20], 1
mov ebx, 2
mov dword [edi + 0x128], 0
or byte [edi + 0x179], 0x80
cmp dword [ebp - 0x18], 0
je 0x42eb9f
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x42eb96
mov dword [esi + 0xc], 2
jmp 0x42df69
inc eax
mov dword [esi + 0xc], eax
jmp 0x42df69
mov eax, dword [esi]
and byte [esi + 0x9f], 0xf7
movsx ecx, byte [esi + 0x98]
movzx edx, byte [eax + 0x176]
test edx, 0x80
je 0x42ebe4
mov eax, dword [ecx*4 + 0x4e06c0]
test eax, eax
je 0x42ebe4
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x42ebe4
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x98]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x42ebf0
jmp dword [eax*4 + 0x4dea80]
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ec42
movzx eax, byte [esi + 0xa0]
or eax, 2
mov byte [esi + 0xa0], al
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c], eax
movsx edx, word [edx*2 + 0x4e0560]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42fb2d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f16f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
movzx eax, byte [esi + 0xa0]
mov dword [ebp - 0x2c], eax
jmp 0x42f16f
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4e0560]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42fb57
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ecd2
movzx eax, byte [esi + 0xa0]
or eax, 2
mov byte [esi + 0xa0], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e092d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42fb81
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f16f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ed24
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e091b]
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42f16f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ee15
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
lea edx, [eax - 0x19]
mov dword [ebp - 0x3d4], edx
cmp edx, 0x1b
ja 0x42edc5
movzx eax, byte [esi + 0xa0]
or eax, 2
movsx edx, word [edx*8 + 0x4e05e0]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0xa0], al
movsx eax, word [esi + 0x90]
test eax, eax
mov dword [esi + 0x88], edx
jne 0x42ed9f
mov eax, dword [ebp - 0x3d4]
movzx eax, word [eax*8 + 0x4e05e4]
mov word [esi + 0x90], ax
mov eax, dword [ebp - 0x3d4]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4e05e6]
mov word [esi + 0x92], ax
jb 0x42f131
jmp 0x42f16f
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x42ee04
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e091b]
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42f16f
and eax, 0xfffffffe
cmp eax, 0x38
je 0x42fbab
jmp 0x42f05f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ee9b
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
lea eax, [eax - 5]
cmp eax, 0xc
ja 0x42ee73
or byte [esi + 0xa0], 2
mov edx, dword [ebp - 0x1d0]
movsx edx, byte [edx + 0x4e091b]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
jmp 0x42eea7
mov eax, dword [ebp - 0x3cc]
and eax, 0xfffffffe
cmp eax, 0x38
jne 0x42eea7
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
jmp 0x42eea7
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0x19
jge case.0x42ebf0.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42ef0c
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c], eax
movsx eax, word [esi + 0x90]
movsx edx, word [edx*8 + 0x4e051a]
add edx, eax
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f16f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f15f
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4e092d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42fbc8
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov eax, dword [ebp - 0x1d0]
add eax, 0xfffffffb
cmp eax, 0xc
ja 0x42f05f
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x88], 2
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov edx, dword [ebp - 0x1d0]
lea eax, [edx - 5]
cmp eax, 0xc
ja 0x42f05f
add ecx, 0xffffffd8
movsx edx, byte [edx + 0x4e091b]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42ec4e
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
lea edx, [eax - 0x19]
cmp edx, 0x1b
ja 0x42f01d
mov eax, edx
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4e05e0]
mov dword [ebp - 0x1f8], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4e05e4]
movzx eax, word [eax*8 + 0x4e05e6]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1f8]
jb 0x42f131
jmp 0x42ec4e
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x42f043
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4e091b]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42ec4e
and eax, 0xfffffffe
cmp eax, 0x38
je 0x42fbf2
jmp 0x42f05f
mov eax, dword [ebp - 0x1d0]
add eax, 0xffffffe7
cmp eax, 0x1b
jbe 0x42f0cb
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42f133
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42fc0f
test byte [edx + 0x44], 2
je 0x42f0a6
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f099
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 + 0x4e05e0]
mov dword [ebp - 0x1f8], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4e05e4]
movzx eax, word [eax*8 + 0x4e05e6]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1f8]
jb 0x42f131
jmp 0x42ec4e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42ec4e
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x42f15f
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x42f157
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x88]
cmp ecx, edx
jge 0x42f151
mov ecx, edx
mov dword [esi + 0x88], ecx
test eax, eax
jne 0x42f070
movzx eax, byte [esi + 0xa0]
mov edx, dword [esi + 0x88]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x42f246
test edx, edx
jle 0x42f191
movsx eax, word [esi + 0x90]
cmp eax, edx
jle 0x42f191
lea edx, [eax + 1]
mov dword [esi + 0x88], edx
cmp edx, 0x40
ja 0x42f1a8
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x28], eax
jmp 0x42f1c5
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00423e10
add esp, 0xc
test eax, eax
jne 0x42fc9a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x88]
push 0x20
push eax
call fcn.004bfb10
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043bad0
add esp, 0x18
test eax, eax
je 0x42f203
cmp eax, 0x3f
jne 0x42fc29
test byte [edi + 0x177], 8
jne 0x42f203
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x88]
test edx, edx
je 0x42f228
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x42f246
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x88]
dec edx
mov dword [esi + 0x88], edx
jne 0x42f20d
movsx eax, word [esi + 0x90]
test eax, eax
jne 0x42f246
mov dword [esi + 0x88], 1
dec dword [ebp - 0x28]
mov edx, dword [esi + 0x88]
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
jb 0x42fda6
movzx eax, byte [esi + 0xa0]
test al, 2
je 0x42f2e5
cmp dword [esi + 0x88], 0
je 0x42f2bc
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 + 0x88]
dec eax
je 0x42fd0b
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x42fd0b
mov edx, dword [edi + 0x3c]
mov byte [edx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x88]
dec eax
jne 0x42f28e
jmp 0x42fd0b
and eax, 0xfffffffd
mov byte [esi + 0xa0], al
mov dword [esi + 0x88], 0
cmp dword [ebp - 0x24], 0
je 0x42f2e0
push dword [ebp - 0x24]
call fcn.00423ed0
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x42f30c
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043bad0
add esp, 0xc
test eax, eax
jne 0x42fd17
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x88]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x42f315
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x42df69
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f374
test byte [edx + 0x44], 2
je 0x42f34f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f342
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42dfd3
cmp ebx, 1
jg 0x42dfd3
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x42dfdc
cmp dword [ebp - 0x20], 0
jne 0x42dfc7
cmp ebx, 1
jg 0x42dfc7
or eax, 0x20
jmp 0x42dfd3
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x42f3d5
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 - 0x1ec], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x50]
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 + 0x88]
jl 0x42f3ef
mov ebx, dword [ebp - 0x1ec]
jmp 0x42e0af
mov edx, ecx
sub edx, dword [ebp - 0x4c]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x42f428
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x42f431
mov edx, eax
push edx
push edi
call fcn.0042b120
add esp, 8
test eax, eax
jne 0x42f450
mov edx, dword [esi + 0x88]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x44], edx
jmp 0x42e0a5
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f4b6
test byte [eax + 0x44], 2
je 0x42f48c
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 0x42f47a
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42f4ff
cmp edx, 0x2b
jne 0x42f4f1
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x175]
and eax, 0xffffffbf
mov byte [edi + 0x175], al
jmp 0x42e10a
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
jmp 0x42f4f1
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0040f7b0
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 0x42f591
test byte [eax + 0x44], 2
je 0x42f567
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 0x42f555
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42f607
test byte [edx + 0x44], 2
je 0x42f5e2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f5d5
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42f862
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42f641
cmp byte [eax + 0x1e], 0
jne 0x42f749
cmp dword [edi + 0x134], 0
je 0x42f658
mov dword [edi + 0x134], 0
xor edx, edx
jmp 0x42f65d
mov edx, 1
cmp dword [edi + 0x128], 0
jne 0x42f675
cmp dword [ebp - 0x18], 0
je 0x42f6a5
cmp dword [edi + 0x130], 0
je 0x42f6a5
movzx eax, byte [edi + 0x179]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x42f698
and eax, 0x7f
mov byte [edi + 0x179], al
jmp 0x42f6ad
cmp dword [edi + 0x130], 0
jne 0x42f749
test edx, edx
je 0x42f749
movzx eax, byte [edi + 0x175]
test al, 0x40
je 0x42f6c5
cmp byte [edi + 0x15e], 1
je 0x42f8ef
push edi
call fcn.00428260
add esp, 4
test eax, eax
je 0x42f72d
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f8a1
test byte [edx + 0x44], 2
je 0x42f708
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f6fb
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 + 0x177], 0xfb
and byte [edi + 0x179], 0x7f
movzx eax, byte [esi + 0x9f]
test al, 2
je 0x42f7c7
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x9f], al
call fcn.00423ed0
add esp, 4
test eax, eax
je 0x42f7c7
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f8bb
test byte [edx + 0x44], 2
je 0x42f7a2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f795
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 0x42f82f
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f8d5
test byte [eax + 0x44], 2
je 0x42f80a
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 0x42f7fa
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 + 0x174]
push edx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.00433b70
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 + 0x174], 0xdc
and byte [edi + 0x176], 0xf7
call fcn.00424430
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 0x42f87d
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.004308f0
add esp, 0xc
cmp eax, 2
je 0x42f867
cmp eax, 1
jne 0x42df69
jmp 0x42f630
push edi
push eax
push eax
push 1
call fcn.0040f7b0
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.0040f7b0
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.0040f7b0
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 0x42f919
cmp edx, 0x2b
jne 0x42f90b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x175]
and eax, 0xffffffbf
mov byte [edi + 0x175], al
jmp 0x42f6c5
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
jmp 0x42f90b
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.0040f7b0
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 0x42f630
cmp ebx, 2
jge 0x42f630
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 eax, byte [ecx + 5]
cmp eax, 0x20
je 0x42f9a4
cmp eax, 0x2b
jne 0x42f990
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x175]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
and eax, 0xffffffbf
mov byte [edi + 0x175], al
jmp 0x42e49e
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
mov dword [ebp - 0x1e4], eax
jmp 0x42f990
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0040f7b0
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
and byte [edi + 0x179], 0x7f
mov dword [edi + 0x134], 1
jmp 0x42f630
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42fa52
test byte [eax + 0x44], 2
je 0x42fa28
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 0x42fa16
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42fac8
test byte [edx + 0x44], 2
je 0x42faa3
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fa96
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42e438
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 0x42f630
jmp 0x42e438
mov edx, 1
jmp 0x42e83c
mov edx, 1
jmp 0x42ea8d
mov edx, 1
jmp 0x42e9fb
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42fb43
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f16f
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42fb6d
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42fb97
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42f131
jmp 0x42f16f
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42ec4e
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42fbde
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42f131
jmp 0x42ec4e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42f131
jmp 0x42ec4e
push edi
push eax
push eax
push 1
call fcn.0040f7b0
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 0x42fc80
test byte [edx + 0x44], 2
je 0x42fc5b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fc4e
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42fcf1
test byte [edx + 0x44], 2
je 0x42fccc
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fcbf
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 + 0xa0]
jmp 0x42f2bc
cmp eax, 0x3f
jne 0x42fd35
test byte [edi + 0x177], 8
jne 0x42f300
mov dword [esi + 0x10], 0x3f
jmp 0x42f300
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42fd8c
test byte [edx + 0x44], 2
je 0x42fd67
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fd5a
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x42fdc0
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x42fdc9
mov eax, edx
push eax
push edi
call fcn.0042b120
add esp, 8
test eax, eax
je 0x42f25c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42fe41
test byte [eax + 0x44], 2
je 0x42fe17
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 0x42fe05
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42feb7
test byte [edx + 0x44], 2
je 0x42fe92
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fe85
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42ff28
test byte [edx + 0x44], 2
je 0x42ff03
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fef6
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 + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00433b70
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.0040f7b0
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 0x42e039
cmp ebx, 1
jg 0x42e039
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x42e042
cmp dword [ebp - 0x20], 0
jne 0x42e026
cmp ebx, 1
jg 0x42e026
movzx eax, byte [esi + 0x9f]
or eax, 0x20
jmp 0x42e039
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 0x42ffac
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