Function at 0x42cf60
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 0x42efe8
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 0x42d047
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 0x42d096
test al, 0x20
je 0x42d096
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x42e3df
and eax, 0xffffffdf
cmp ecx, 1
je 0x42e3be
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
mov dword [ebp - 0x38], edx
call fcn.00444a40
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x42e34d
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x42d036
test al, 0x20
jne 0x42efb5
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x9f], al
jmp 0x42d096
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42ef93
movzx eax, byte [esi + 0x9f]
and eax, 0xffffffdf
cmp edx, 1
je 0x42ef72
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
call fcn.00444a40
add esp, 4
test eax, eax
jne 0x42ef01
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x42d096
test al, 0x20
jne 0x42e3fa
movsx edx, byte [esi + 0x98]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x42d0a9.3
jmp dword [edx*4 + 0x4e8ae0]
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 0x42e440
cmp dword [ebp - 0x44], 0
jg 0x42e414
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x42d0f2
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x179], 0x80
jmp 0x42cf99
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42d11b
cmp byte [eax + 0x1e], 0
je 0x42d11b
mov byte [eax + 0x1e], 0
mov dword [ebp - 0x48], 1
jmp 0x42d122
mov dword [ebp - 0x48], 0
movzx eax, byte [edi + 0x175]
test al, 0x40
je 0x42d13a
cmp byte [edi + 0x15e], 1
je 0x42e505
push edi
call fcn.00433330
add esp, 4
test eax, eax
jne 0x42e5e0
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x177], 0xfb
call fcn.004346d0
add esp, 8
test eax, eax
jne 0x42e55b
movsx eax, byte [edi + 0x15c]
mov dword [ebp - 0x54], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42d189
jmp dword [eax*4 + 0x4e8b60]
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42d19c
mov dword [edi + 0x3c], ecx
jmp 0x42d1a2
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 0x42d2cc
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42e53c
test byte [eax + 0x44], 2
je 0x42d1fb
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 0x42d1e9
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.00437660
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 0x42d231
add ecx, 4
jmp 0x42d237
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 0x42d2cc
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42d25c
mov dword [edi + 0x3c], ecx
jmp 0x42d262
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 0x42d295
test byte [edi + 0x172], 0x40
je 0x42d295
test byte [edi + 0x173], 8
je 0x42d295
cmp dword [ebp - 0x54], 1
je 0x42d29a
mov dword [edi + 0x44], eax
jmp 0x42d2cc
mov eax, dword [ebp - 0x200]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x42d2cc
push 0x472
push str.for_wseq_fmt.c
push 2
push 8
call fcn.004274c0
add esp, 0x10
movzx edx, byte [edi + 0x170]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x42d2ec
test byte [edi + 0x172], 0x40
je 0x42d2ec
test byte [edi + 0x173], 8
je 0x42d2ec
cmp byte [edi + 0x15c], 1
je 0x42d339
movsx edx, byte [edi + 0x15e]
cmp edx, 2
jne 0x42d314
movsx edx, byte [edi + 0x15c]
cmp edx, 7
je 0x42d339
cmp edx, 6
je 0x42d339
cmp edx, 8
je 0x42d339
dec eax
mov dword [edi + 0x44], eax
jmp 0x42d339
cmp edx, 1
jne 0x42d339
movsx edx, byte [edi + 0x15c]
cmp edx, 7
je 0x42d333
cmp edx, 6
je 0x42d333
cmp edx, 8
je 0x42d333
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.004c8df0
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x48], 0
je 0x42cf99
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x42cf99
cmp ebx, 2
jge 0x42cf99
jmp 0x42e651
test byte [edi + 0x170], 4
je 0x42d396
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x42cf99
or byte [edi + 0x175], 0x40
jmp 0x42cf99
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42eb31
cmp edx, 2
je 0x42eb12
test byte [esi + 0x9e], 0x20
jne 0x42d468
test byte [edi + 0x170], 2
je 0x42d3fe
test eax, 0x80
je 0x42d3fe
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.00438a20
add esp, 0x14
test eax, eax
jne 0x42e975
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42e956
test byte [eax + 0x44], 2
je 0x42d43e
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 0x42d42c
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.00437660
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 0x42d480
cmp byte [eax + 0x1e], 0
je 0x42d480
mov byte [eax + 0x1e], 0
mov edx, 1
jmp 0x42d482
xor edx, edx
cmp dword [edi + 0x128], 0
je 0x42d4b0
movzx eax, byte [edi + 0x179]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x42d4b0
cmp dword [edi + 0x130], 0
jne 0x42d78c
movzx eax, byte [edi + 0x175]
test al, 0x40
mov dword [ebp - 0x1e4], eax
je 0x42d4ce
cmp byte [edi + 0x15e], 1
je 0x42e99e
push edi
mov dword [ebp - 0x1e0], edx
call fcn.00433330
mov edx, dword [ebp - 0x1e0]
add esp, 4
test eax, eax
jne 0x42eaa1
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.004346d0
mov edx, dword [ebp - 0x1e0]
add esp, 8
test eax, eax
jne 0x42ea1c
movsx eax, byte [edi + 0x15c]
mov dword [ebp - 0x1e8], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42d538
jmp dword [eax*4 + 0x4e8b80]
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42d54b
mov dword [edi + 0x3c], eax
jmp 0x42d551
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 0x42d6c8
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42e9e7
test byte [eax + 0x44], 2
je 0x42d5b6
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 0x42d5a4
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.00437660
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 0x42d5ec
add eax, 4
jmp 0x42d5f2
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 0x42d6c8
mov eax, dword [edi + 0x40]
test eax, eax
je 0x42d626
mov dword [edi + 0x3c], eax
jmp 0x42d62c
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 0x42d66d
test byte [edi + 0x172], 0x40
je 0x42d66d
test byte [edi + 0x173], 8
je 0x42d66d
cmp dword [ebp - 0x1e8], 1
je 0x42d678
mov ecx, dword [ebp - 0x1f4]
mov dword [edi + 0x44], ecx
jmp 0x42d6c8
mov ecx, dword [ebp - 0x3d0]
lea ecx, [eax + ecx - 2]
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x42d6c8
push 0x544
push str.for_wseq_fmt.c
push 2
push 8
mov dword [ebp - 0x1e0], edx
call fcn.004274c0
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 0x42d6ec
test byte [edi + 0x172], 0x40
je 0x42d6ec
test byte [edi + 0x173], 8
je 0x42d6ec
cmp byte [edi + 0x15c], 1
je 0x42d751
movsx ecx, byte [edi + 0x15e]
cmp ecx, 2
jne 0x42d720
movsx ecx, byte [edi + 0x15c]
cmp ecx, 7
je 0x42d751
cmp ecx, 6
je 0x42d751
cmp ecx, 8
je 0x42d751
mov ecx, dword [ebp - 0x1f4]
dec ecx
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x42d751
cmp ecx, 1
jne 0x42d751
movsx ecx, byte [edi + 0x15c]
cmp ecx, 7
je 0x42d74b
cmp ecx, 6
je 0x42d74b
cmp ecx, 8
je 0x42d74b
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.004c8df0
mov edx, dword [ebp - 0x1e0]
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x179], 0x7f
test edx, edx
je 0x42d797
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.004386d0
add esp, 0xc
cmp eax, 1
jne 0x42cf99
jmp 0x42ea06
cmp ebx, 1
jle 0x42d8e8
mov eax, dword [ebp - 0x380]
cmp eax, 7
je 0x42d7d9
cmp eax, 8
jne 0x42d8b6
cmp dword [ebp - 0x20], 0
je 0x42d7f8
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x42dbad
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
je 0x42d806
mov eax, 1
mov edx, dword [ebp - 0x37c]
test edx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], edx
jle 0x42d88e
mov eax, edx
mov edx, eax
shr edx, 0x1f
add edx, eax
xor eax, eax
sar edx, 1
test edx, edx
jbe 0x42eb3f
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 0x42d830
mov edi, dword [ebp - 0x40]
lea edx, [ecx + ecx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x3c]
jae 0x42d890
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 0x42d890
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.00437d30
add esp, 0xc
jmp 0x42d8d1
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x42d8c8
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 0x42dbad
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.00438770
add esp, 0x10
test eax, eax
jne 0x42ee90
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x42efc7
cmp ecx, 1
je 0x42e660
mov eax, dword [ebp - 0x380]
cmp eax, 7
jl 0x42db1b
cmp eax, 8
jg 0x42db1b
mov eax, dword [ebp - 0x1cc]
test eax, eax
mov dword [ebp - 0x1fc], eax
je 0x42d961
mov eax, dword [ebp - 0x1d4]
cdq
mov ebx, dword [ebp - 0x1fc]
idiv ebx
mov ebx, eax
jmp 0x42d974
test byte [edi + 0x170], 2
je 0x42db0d
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x42db0f
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x42d992
cmp ecx, 0x34
je 0x42d992
mov dword [ebp - 0x1c], 0
jmp 0x42d99d
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 0x42dae2
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
test edx, edx
jbe 0x42eb53
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 0x42d9d0
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 0x42da63
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 0x42eb49
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 0x42da81
mov edi, dword [ebp - 0x40]
lea edx, [ecx + ecx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x384]
jae 0x42dae4
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 0x42dae4
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.00437d30
add esp, 0xc
jmp 0x42db9c
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x42dbb3
cmp eax, 6
je 0x42db25
cmp eax, 5
jne 0x42db7c
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 0x42db5a
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x42db65
jmp 0x42dbad
test ecx, ecx
jne 0x42db63
mov ebx, 0
je 0x42dbad
test ebx, ebx
jne 0x42db9c
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x42dbb3
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x42db90
cmp ecx, 0x34
je 0x42db90
mov ebx, 1
jmp 0x42db9c
mov dword [ebp - 0x20], 1
mov ebx, 2
mov dword [edi + 0x128], 0
or byte [edi + 0x179], 0x80
cmp dword [ebp - 0x18], 0
je 0x42dbcf
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x42dbc6
mov dword [esi + 0xc], 2
jmp 0x42cf99
inc eax
mov dword [esi + 0xc], eax
jmp 0x42cf99
mov eax, dword [esi]
and byte [esi + 0x9f], 0xf7
movsx ecx, byte [esi + 0x98]
movzx edx, byte [eax + 0x176]
test edx, 0x80
je 0x42dc14
mov eax, dword [ecx*4 + 0x4ea620]
test eax, eax
je 0x42dc14
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x42dc14
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x98]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x42dc20
jmp dword [eax*4 + 0x4e8ba0]
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42dc72
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 + 0x4ea4c0]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42eb5d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e19f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
movzx eax, byte [esi + 0xa0]
mov dword [ebp - 0x2c], eax
jmp 0x42e19f
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4ea4c0]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42eb87
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42dd02
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 + 0x4ea88d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42ebb1
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e19f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42dd54
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 + 0x4ea87b]
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42e19f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42de45
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
lea edx, [eax - 0x19]
mov dword [ebp - 0x3d4], edx
cmp edx, 0x1b
ja 0x42ddf5
movzx eax, byte [esi + 0xa0]
or eax, 2
movsx edx, word [edx*8 + 0x4ea540]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0xa0], al
movsx eax, word [esi + 0x90]
test eax, eax
mov dword [esi + 0x88], edx
jne 0x42ddcf
mov eax, dword [ebp - 0x3d4]
movzx eax, word [eax*8 + 0x4ea544]
mov word [esi + 0x90], ax
mov eax, dword [ebp - 0x3d4]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4ea546]
mov word [esi + 0x92], ax
jb 0x42e161
jmp 0x42e19f
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x42de34
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 + 0x4ea87b]
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42e19f
and eax, 0xfffffffe
cmp eax, 0x38
je 0x42ebdb
jmp 0x42e08f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42decb
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
lea eax, [eax - 5]
cmp eax, 0xc
ja 0x42dea3
or byte [esi + 0xa0], 2
mov edx, dword [ebp - 0x1d0]
movsx edx, byte [edx + 0x4ea87b]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
jmp 0x42ded7
mov eax, dword [ebp - 0x3cc]
and eax, 0xfffffffe
cmp eax, 0x38
jne 0x42ded7
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
jmp 0x42ded7
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0x19
jge case.0x42dc20.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x42df3c
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 + 0x4ea47a]
add edx, eax
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e19f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e18f
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4ea88d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x42ebf8
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov eax, dword [ebp - 0x1d0]
add eax, 0xfffffffb
cmp eax, 0xc
ja 0x42e08f
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x88], 2
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov edx, dword [ebp - 0x1d0]
lea eax, [edx - 5]
cmp eax, 0xc
ja 0x42e08f
add ecx, 0xffffffd8
movsx edx, byte [edx + 0x4ea87b]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42dc7e
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1d0]
lea edx, [eax - 0x19]
cmp edx, 0x1b
ja 0x42e04d
mov eax, edx
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4ea540]
mov dword [ebp - 0x1f8], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4ea544]
movzx eax, word [eax*8 + 0x4ea546]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1f8]
jb 0x42e161
jmp 0x42dc7e
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x42e073
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4ea87b]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42dc7e
and eax, 0xfffffffe
cmp eax, 0x38
je 0x42ec22
jmp 0x42e08f
mov eax, dword [ebp - 0x1d0]
add eax, 0xffffffe7
cmp eax, 0x1b
jbe 0x42e0fb
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42e163
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42ec3f
test byte [edx + 0x44], 2
je 0x42e0d6
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42e0c9
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.00437660
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 + 0x4ea540]
mov dword [ebp - 0x1f8], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4ea544]
movzx eax, word [eax*8 + 0x4ea546]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1f8]
jb 0x42e161
jmp 0x42dc7e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42dc7e
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x42e18f
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x42e187
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x88]
cmp ecx, edx
jge 0x42e181
mov ecx, edx
mov dword [esi + 0x88], ecx
test eax, eax
jne 0x42e0a0
movzx eax, byte [esi + 0xa0]
mov edx, dword [esi + 0x88]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x42e276
test edx, edx
jle 0x42e1c1
movsx eax, word [esi + 0x90]
cmp eax, edx
jle 0x42e1c1
lea edx, [eax + 1]
mov dword [esi + 0x88], edx
cmp edx, 0x40
ja 0x42e1d8
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x28], eax
jmp 0x42e1f5
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00438ab0
add esp, 0xc
test eax, eax
jne 0x42ecca
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x88]
push 0x20
push eax
call fcn.004c8df0
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.004390d0
add esp, 0x18
test eax, eax
je 0x42e233
cmp eax, 0x3f
jne 0x42ec59
test byte [edi + 0x177], 8
jne 0x42e233
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x88]
test edx, edx
je 0x42e258
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x42e276
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x88]
dec edx
mov dword [esi + 0x88], edx
jne 0x42e23d
movsx eax, word [esi + 0x90]
test eax, eax
jne 0x42e276
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 0x42edd6
movzx eax, byte [esi + 0xa0]
test al, 2
je 0x42e315
cmp dword [esi + 0x88], 0
je 0x42e2ec
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 0x42ed3b
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x42ed3b
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 0x42e2be
jmp 0x42ed3b
and eax, 0xfffffffd
mov byte [esi + 0xa0], al
mov dword [esi + 0x88], 0
cmp dword [ebp - 0x24], 0
je 0x42e310
push dword [ebp - 0x24]
call fcn.00438b70
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x42e33c
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.004390d0
add esp, 0xc
test eax, eax
jne 0x42ed47
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x88]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x42e345
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x42cf99
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42e3a4
test byte [edx + 0x44], 2
je 0x42e37f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42e372
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.00437660
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.00425410
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 0x42d003
cmp ebx, 1
jg 0x42d003
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x42d00c
cmp dword [ebp - 0x20], 0
jne 0x42cff7
cmp ebx, 1
jg 0x42cff7
or eax, 0x20
jmp 0x42d003
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x42e405
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 0x42e41f
mov ebx, dword [ebp - 0x1ec]
jmp 0x42d0df
mov edx, ecx
sub edx, dword [ebp - 0x4c]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x42e458
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x42e461
mov edx, eax
push edx
push edi
call fcn.00437b30
add esp, 8
test eax, eax
jne 0x42e480
mov edx, dword [esi + 0x88]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x44], edx
jmp 0x42d0d5
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42e4e6
test byte [eax + 0x44], 2
je 0x42e4bc
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 0x42e4aa
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.00437660
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.00425410
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 0x42e52f
cmp edx, 0x2b
jne 0x42e521
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x175]
and eax, 0xffffffbf
mov byte [edi + 0x175], al
jmp 0x42d13a
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
jmp 0x42e521
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00425410
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 0x42e5c1
test byte [eax + 0x44], 2
je 0x42e597
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 0x42e585
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.00437660
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.00425410
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 0x42e637
test byte [edx + 0x44], 2
je 0x42e612
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42e605
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.00437660
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.00425410
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 0x42e892
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42e671
cmp byte [eax + 0x1e], 0
jne 0x42e779
cmp dword [edi + 0x134], 0
je 0x42e688
mov dword [edi + 0x134], 0
xor edx, edx
jmp 0x42e68d
mov edx, 1
cmp dword [edi + 0x128], 0
jne 0x42e6a5
cmp dword [ebp - 0x18], 0
je 0x42e6d5
cmp dword [edi + 0x130], 0
je 0x42e6d5
movzx eax, byte [edi + 0x179]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x42e6c8
and eax, 0x7f
mov byte [edi + 0x179], al
jmp 0x42e6dd
cmp dword [edi + 0x130], 0
jne 0x42e779
test edx, edx
je 0x42e779
movzx eax, byte [edi + 0x175]
test al, 0x40
je 0x42e6f5
cmp byte [edi + 0x15e], 1
je 0x42e91f
push edi
call fcn.00433330
add esp, 4
test eax, eax
je 0x42e75d
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42e8d1
test byte [edx + 0x44], 2
je 0x42e738
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42e72b
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.00437660
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 0x42e7f7
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x9f], al
call fcn.00438b70
add esp, 4
test eax, eax
je 0x42e7f7
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42e8eb
test byte [edx + 0x44], 2
je 0x42e7d2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42e7c5
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.00437660
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 0x42e85f
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42e905
test byte [eax + 0x44], 2
je 0x42e83a
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 0x42e82a
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.00437660
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.0042fcc0
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 0x42e8ad
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.004386d0
add esp, 0xc
cmp eax, 2
je 0x42e897
cmp eax, 1
jne 0x42cf99
jmp 0x42e660
push edi
push eax
push eax
push 1
call fcn.00425410
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.00425410
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.00425410
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 0x42e949
cmp edx, 0x2b
jne 0x42e93b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x175]
and eax, 0xffffffbf
mov byte [edi + 0x175], al
jmp 0x42e6f5
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
jmp 0x42e93b
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00425410
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 0x42e660
cmp ebx, 2
jge 0x42e660
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 0x42e9d4
cmp eax, 0x2b
jne 0x42e9c0
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 0x42d4ce
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x175]
mov dword [ebp - 0x1e4], eax
jmp 0x42e9c0
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00425410
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 0x42e660
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42ea82
test byte [eax + 0x44], 2
je 0x42ea58
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 0x42ea46
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.00437660
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.00425410
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 0x42eaf8
test byte [edx + 0x44], 2
je 0x42ead3
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42eac6
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.00437660
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.00425410
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 0x42d468
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 0x42e660
jmp 0x42d468
mov edx, 1
jmp 0x42d86c
mov edx, 1
jmp 0x42dabd
mov edx, 1
jmp 0x42da2b
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42eb73
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e19f
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42eb9d
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42ebc7
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42e161
jmp 0x42e19f
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42dc7e
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42ec0e
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x42e161
jmp 0x42dc7e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x42e161
jmp 0x42dc7e
push edi
push eax
push eax
push 1
call fcn.00425410
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 0x42ecb0
test byte [edx + 0x44], 2
je 0x42ec8b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ec7e
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.00437660
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.00425410
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 0x42ed21
test byte [edx + 0x44], 2
je 0x42ecfc
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ecef
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.00437660
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.00425410
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 0x42e2ec
cmp eax, 0x3f
jne 0x42ed65
test byte [edi + 0x177], 8
jne 0x42e330
mov dword [esi + 0x10], 0x3f
jmp 0x42e330
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42edbc
test byte [edx + 0x44], 2
je 0x42ed97
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ed8a
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.00437660
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.00425410
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 0x42edf0
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x42edf9
mov eax, edx
push eax
push edi
call fcn.00437b30
add esp, 8
test eax, eax
je 0x42e28c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42ee71
test byte [eax + 0x44], 2
je 0x42ee47
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 0x42ee35
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.00437660
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.00425410
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 0x42eee7
test byte [edx + 0x44], 2
je 0x42eec2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42eeb5
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.00437660
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.00425410
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 0x42ef58
test byte [edx + 0x44], 2
je 0x42ef33
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ef26
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.00437660
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.00425410
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 0x42d069
cmp ebx, 1
jg 0x42d069
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x42d072
cmp dword [ebp - 0x20], 0
jne 0x42d056
cmp ebx, 1
jg 0x42d056
movzx eax, byte [esi + 0x9f]
or eax, 0x20
jmp 0x42d069
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 0x42efdc
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