Function at 0x42ee44
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 0x42fcfe
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 0x42e064
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42e0aa
test al, 0x20
je 0x42e0aa
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x42f179
and eax, 0xffffffdf
cmp ecx, 1
je 0x42f15e
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.004429e0
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x42f0ed
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42e056
test al, 0x20
jne 0x42fccb
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x42e0aa
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x42fcac
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x42fc91
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.004429e0
add esp, 4
test eax, eax
jne 0x42fc20
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x42e0aa
test al, 0x20
jne 0x42f194
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x42e0c1.3
mov edx, dword [edx*4 + 0x4d7740]
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 0x42e129
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x42e102
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x42e10b
mov edx, eax
push edx
push edi
call fcn.0042b2a0
add esp, 8
test eax, eax
jne 0x42f1da
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jg 0x42f1ae
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x42e149
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x42dfe9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x42e177
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x42e177
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x42e181
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x42e199
cmp byte [edi + 0x156], 1
je 0x42f25f
push edi
call fcn.00428250
add esp, 4
test eax, eax
jne 0x42f33a
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00429740
add esp, 8
test eax, eax
jne 0x42f2b5
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42e1f2
mov eax, dword [eax*4 + 0x4d77c0]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e200
mov dword [edi + 0x3c], ecx
jmp 0x42e206
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 0x42e336
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f296
test byte [eax + 0x44], 2
je 0x42e25f
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 0x42e24d
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.004333d0
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 0x42e295
add ecx, 4
jmp 0x42e29b
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 0x42e336
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e2c3
mov dword [edi + 0x3c], ecx
jmp 0x42e2c9
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 0x42e2ff
test byte [edi + 0x16a], 0x40
je 0x42e2ff
test byte [edi + 0x16b], 8
je 0x42e2ff
cmp dword [ebp - 0x1c4], 1
je 0x42e304
mov dword [edi + 0x44], eax
jmp 0x42e336
mov eax, dword [ebp - 0x1ec]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x42e336
push 0x464
push str.for_wseq_fmt.c
push 2
push 8
call fcn.00416ed0
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x42e356
test byte [edi + 0x16a], 0x40
je 0x42e356
test byte [edi + 0x16b], 8
je 0x42e356
cmp byte [edi + 0x154], 1
je 0x42e3a3
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x42e37e
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42e3a3
cmp edx, 6
je 0x42e3a3
cmp edx, 8
je 0x42e3a3
dec eax
mov dword [edi + 0x44], eax
jmp 0x42e3a3
cmp edx, 1
jne 0x42e3a3
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42e39d
cmp edx, 6
je 0x42e39d
cmp edx, 8
je 0x42e39d
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.004b5b20
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x42dfe9
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x42dfe9
cmp ebx, 2
jge 0x42dfe9
jmp 0x42f3ab
test byte [edi + 0x168], 4
je 0x42e403
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x42dfe9
or byte [edi + 0x16d], 0x40
jmp 0x42dfe9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x42f83b
cmp edx, 2
je 0x42f81c
test byte [esi + 0x4e], 0x20
jne 0x42e4d2
test byte [edi + 0x168], 2
je 0x42e468
test eax, 0x80
je 0x42e468
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.00433c00
add esp, 0x14
test eax, eax
jne 0x42f6a7
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f688
test byte [eax + 0x44], 2
je 0x42e4a8
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 0x42e496
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.004333d0
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 0x42e4f1
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x42e4f1
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1c8], 1
jmp 0x42e4fb
mov dword [ebp - 0x1c8], 0
cmp dword [edi + 0x128], 0
je 0x42e529
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x42e529
cmp dword [edi + 0x130], 0
jne 0x42e774
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x42e541
cmp byte [edi + 0x156], 1
je 0x42f6d0
push edi
call fcn.00428250
add esp, 4
test eax, eax
jne 0x42f7ab
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.00429740
add esp, 8
test eax, eax
jne 0x42f726
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x42e59a
mov eax, dword [eax*4 + 0x4d77e0]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e5a8
mov dword [edi + 0x3c], ecx
jmp 0x42e5ae
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 0x42e6de
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f707
test byte [eax + 0x44], 2
je 0x42e607
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 0x42e5f5
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.004333d0
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 0x42e63d
add ecx, 4
jmp 0x42e643
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 0x42e6de
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x42e66b
mov dword [edi + 0x3c], ecx
jmp 0x42e671
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 0x42e6a7
test byte [edi + 0x16a], 0x40
je 0x42e6a7
test byte [edi + 0x16b], 8
je 0x42e6a7
cmp dword [ebp - 0x1e4], 1
je 0x42e6ac
mov dword [edi + 0x44], eax
jmp 0x42e6de
mov eax, dword [ebp - 0x3b8]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x42e6de
push 0x534
push str.for_wseq_fmt.c
push 2
push 8
call fcn.00416ed0
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x42e6fe
test byte [edi + 0x16a], 0x40
je 0x42e6fe
test byte [edi + 0x16b], 8
je 0x42e6fe
cmp byte [edi + 0x154], 1
je 0x42e74b
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x42e726
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42e74b
cmp edx, 6
je 0x42e74b
cmp edx, 8
je 0x42e74b
dec eax
mov dword [edi + 0x44], eax
jmp 0x42e74b
cmp edx, 1
jne 0x42e74b
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x42e745
cmp edx, 6
je 0x42e745
cmp edx, 8
je 0x42e745
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.004b5b20
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
cmp dword [ebp - 0x1c8], 0
je 0x42e784
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x42dfe9
cmp ebx, 1
jle 0x42e86b
mov eax, dword [ebp - 0x36c]
cmp eax, 7
je 0x42e7ac
cmp eax, 8
jne 0x42e839
cmp dword [ebp - 0x20], 0
je 0x42e7cb
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x42ea5f
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x368]
je 0x42e7df
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x42e813
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 0x42e7f0
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.0042b4c0
add esp, 0xc
jmp 0x42e854
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x42e84b
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 0x42ea5f
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.00433990
add esp, 0x10
test eax, eax
jne 0x42fbaf
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x42fcdd
cmp ecx, 1
je 0x42f3ba
mov eax, dword [ebp - 0x36c]
cmp eax, 7
jl 0x42e9cb
cmp eax, 8
jg 0x42e9cb
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x42e8d8
mov eax, dword [ebp - 0x1d4]
cdq
idiv ebx
mov ebx, eax
jmp 0x42e8eb
test byte [edi + 0x168], 2
je 0x42e9bd
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x42e9bf
cmp ecx, 0x34
je 0x42e902
cmp ecx, 0x1c
jl 0x42e90f
cmp ecx, 0x2c
jg 0x42e90f
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x42e916
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x368]
test eax, eax
jle 0x42e962
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 0x42e928
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x42e994
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 0x42e971
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.0042b4c0
add esp, 0xc
jmp 0x42ea4e
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x42ea65
cmp eax, 6
je 0x42e9d5
cmp eax, 5
jne 0x42ea2c
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 0x42ea0a
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x42ea15
jmp 0x42ea5f
test ecx, ecx
jne 0x42ea13
mov ebx, 0
je 0x42ea5f
test ebx, ebx
jne 0x42ea4e
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x42ea65
cmp ecx, 0x34
je 0x42ea3b
cmp ecx, 0x1c
jl 0x42ea49
cmp ecx, 0x2c
jg 0x42ea49
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x42ea4e
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x42ea81
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x42ea78
mov dword [esi + 0xc], 2
jmp 0x42dfe9
inc eax
mov dword [esi + 0xc], eax
jmp 0x42dfe9
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x42eabd
mov eax, dword [ecx*4 + 0x4d9400]
test eax, eax
je 0x42eabd
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x42eabd
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x42ead0
mov eax, dword [eax*4 + 0x4d7800]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42eb11
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 + 0x4d92a0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42f849
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x42ef53
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4d92a0]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42f870
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42eb8f
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 + 0x4d966d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42f897
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42ebd2
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 + 0x4d965b]
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42ef53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42ec73
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3bc], eax
jge 0x42f8be
cmp dword [ebp - 0x3bc], 5
jl 0x42ec43
cmp dword [ebp - 0x3bc], 0x11
jg 0x42ec43
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 + 0x4d965b]
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42ef53
cmp dword [ebp - 0x3bc], 0x39
je 0x42ec59
cmp dword [ebp - 0x3bc], 0x38
jne 0x42ee5e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42eb1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1d0]
jne 0x42ecd0
cmp eax, 5
jl 0x42ecb7
cmp eax, 0x11
jg 0x42ecb7
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d965b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
jmp 0x42ecd0
cmp eax, 0x39
je 0x42ecc1
cmp eax, 0x38
jne 0x42ecd0
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
jge case.0x42ead0.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x42ed22
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 + 0x4d925a]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef49
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4d966d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x42f922
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x42ee5e
cmp eax, 0x11
jg 0x42ee5e
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x42ee5e
cmp eax, 0x11
jg 0x42ee5e
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4d965b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42eb1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3b4], eax
jge 0x42f949
cmp dword [ebp - 0x3b4], 5
jl 0x42ee18
cmp dword [ebp - 0x3b4], 0x11
jg 0x42ee18
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4d965b]
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42eb1d
cmp dword [ebp - 0x3b4], 0x39
je 0x42ee2a
cmp dword [ebp - 0x3b4], 0x38
jne 0x42ee5e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42eb1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x1e0], eax
jl 0x42ee5e
cmp dword [ebp - 0x1e0], 0x34
jle 0x42eeca
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42ef26
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f996
test byte [edx + 0x44], 2
je 0x42eea5
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42ee98
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.004333d0
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 + 0x4d9258]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4d925c]
movzx eax, word [eax*8 + 0x4d925e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x42ef24
jmp 0x42eb1d
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42ef24
jmp 0x42eb1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x42ef49
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x42ef41
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x42ef3e
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x42ee6f
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x42effd
cmp edx, 0x40
ja 0x42ef74
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x28], eax
jmp 0x42ef91
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.004245d0
add esp, 0xc
test eax, eax
jne 0x42fa21
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004b5b20
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00433c90
add esp, 0x18
test eax, eax
je 0x42efcc
cmp eax, 0x3f
jne 0x42f9b0
test byte [edi + 0x16f], 8
jne 0x42efcc
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x42efe8
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x42effd
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x42efd3
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x42effd
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 0x42f044
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x42f029
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x42f032
mov eax, edx
push eax
push edi
call fcn.0042b2a0
add esp, 8
test eax, eax
jne 0x42fb2a
movzx eax, byte [esi + 0x50]
test al, 2
je 0x42f0b8
cmp dword [esi + 0x38], 0
je 0x42f095
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 0x42fa92
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x42fa92
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 0x42f06d
jmp 0x42fa92
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x42f0b3
push dword [ebp - 0x24]
call fcn.00424690
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x42f0dc
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00433c90
add esp, 0xc
test eax, eax
jne 0x42fa9b
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x42f0e5
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x42dfe9
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f144
test byte [edx + 0x44], 2
je 0x42f11f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f112
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.004333d0
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.00414e00
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 0x42e029
cmp ebx, 1
jg 0x42e029
or eax, 0x40
jmp 0x42e02c
cmp dword [ebp - 0x20], 0
jne 0x42e01d
cmp ebx, 1
jg 0x42e01d
or eax, 0x20
jmp 0x42e029
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x42f19f
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 0x42f1bc
mov ebx, dword [ebp - 0x1e8]
jmp 0x42e136
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f240
test byte [eax + 0x44], 2
je 0x42f216
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 0x42f204
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.004333d0
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.00414e00
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 0x42f289
cmp edx, 0x2b
jne 0x42f27b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x42e199
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42f27b
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00414e00
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 0x42f31b
test byte [eax + 0x44], 2
je 0x42f2f1
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 0x42f2df
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.004333d0
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.00414e00
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 0x42f391
test byte [edx + 0x44], 2
je 0x42f36c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f35f
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.004333d0
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.00414e00
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 0x42f5c4
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x42f3cd
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x42f4b1
cmp dword [edi + 0x128], 0
jne 0x42f3e5
cmp dword [ebp - 0x18], 0
je 0x42f415
cmp dword [edi + 0x130], 0
je 0x42f415
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x42f408
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x42f415
cmp dword [edi + 0x130], 0
jne 0x42f4b1
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x42f42d
cmp byte [edi + 0x156], 1
je 0x42f651
push edi
call fcn.00428250
add esp, 4
test eax, eax
je 0x42f495
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f603
test byte [edx + 0x44], 2
je 0x42f470
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f463
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.004333d0
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 0x42f529
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00424690
add esp, 4
test eax, eax
je 0x42f529
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42f61d
test byte [edx + 0x44], 2
je 0x42f504
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f4f7
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.004333d0
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 0x42f591
mov eax, dword [edi + 0x18]
test eax, eax
je 0x42f637
test byte [eax + 0x44], 2
je 0x42f56c
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 0x42f55c
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.004333d0
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.00425940
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 0x42f5df
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.004338f0
add esp, 0xc
cmp eax, 2
je 0x42f5c9
cmp eax, 1
jne 0x42dfe9
jmp 0x42f3ba
push edi
push eax
push eax
push 1
call fcn.00414e00
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.00414e00
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.00414e00
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 0x42f67b
cmp edx, 0x2b
jne 0x42f66d
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x42f42d
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42f66d
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00414e00
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 0x42f3ba
cmp ebx, 2
jge 0x42f3ba
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 0x42f6fa
cmp edx, 0x2b
jne 0x42f6ec
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x42e541
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x42f6ec
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00414e00
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 0x42f78c
test byte [eax + 0x44], 2
je 0x42f762
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 0x42f750
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.004333d0
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.00414e00
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 0x42f802
test byte [edx + 0x44], 2
je 0x42f7dd
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f7d0
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.004333d0
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.00414e00
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 0x42e4d2
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 0x42f3ba
jmp 0x42e4d2
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42f85f
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef53
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x42f886
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42f8ad
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42ef53
cmp dword [ebp - 0x3bc], 0x34
jg 0x42ec43
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4d9258]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x42f8ff
mov eax, dword [ebp - 0x3bc]
movzx eax, word [eax*8 + 0x4d925c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3bc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4d925e]
mov word [esi + 0x42], ax
jb 0x42ef24
jmp 0x42ef53
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x42f938
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42ef24
jmp 0x42eb1d
cmp dword [ebp - 0x3b4], 0x34
jg 0x42ee18
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4d9258]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4d925c]
movzx eax, word [eax*8 + 0x4d925e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x42ef24
jmp 0x42eb1d
push edi
push eax
push eax
push 1
call fcn.00414e00
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 0x42fa07
test byte [edx + 0x44], 2
je 0x42f9e2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42f9d5
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.004333d0
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.00414e00
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 0x42fa78
test byte [edx + 0x44], 2
je 0x42fa53
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fa46
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.004333d0
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.00414e00
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 0x42f095
cmp eax, 0x3f
jne 0x42fab9
test byte [edi + 0x16f], 8
jne 0x42f0d3
mov dword [esi + 0x10], 0x3f
jmp 0x42f0d3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42fb10
test byte [edx + 0x44], 2
je 0x42faeb
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fade
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.004333d0
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.00414e00
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 0x42fb90
test byte [eax + 0x44], 2
je 0x42fb66
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 0x42fb54
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.004333d0
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.00414e00
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 0x42fc06
test byte [edx + 0x44], 2
je 0x42fbe1
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fbd4
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.004333d0
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.00414e00
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 0x42fc77
test byte [edx + 0x44], 2
je 0x42fc52
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42fc45
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.004333d0
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.00414e00
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 0x42e083
cmp ebx, 1
jg 0x42e083
or eax, 0x40
jmp 0x42e086
cmp dword [ebp - 0x20], 0
jne 0x42e073
cmp ebx, 1
jg 0x42e073
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x42e083
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 0x42fcf2
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