Function at 0x431d44
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 0x432bfe
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 0x430f64
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x430faa
test al, 0x20
je 0x430faa
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x432079
and eax, 0xffffffdf
cmp ecx, 1
je 0x43205e
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.0043ec30
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x431fed
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x430f56
test al, 0x20
jne 0x432bcb
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x430faa
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x432bac
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x432b91
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.0043ec30
add esp, 4
test eax, eax
jne 0x432b20
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x430faa
test al, 0x20
jne 0x432094
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x430fc1.3
mov edx, dword [edx*4 + 0x4c9c00]
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 0x431029
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x431002
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x43100b
mov edx, eax
push edx
push edi
call fcn.0042a6e0
add esp, 8
test eax, eax
jne 0x4320da
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jg 0x4320ae
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x431049
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x430ee9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x431077
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x431077
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x431081
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x431099
cmp byte [edi + 0x156], 1
je 0x43215f
push edi
call fcn.0042bb60
add esp, 4
test eax, eax
jne 0x43223a
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.0042d050
add esp, 8
test eax, eax
jne 0x4321b5
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x4310f2
mov eax, dword [eax*4 + 0x4c9c80]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x431100
mov dword [edi + 0x3c], ecx
jmp 0x431106
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 0x431236
mov eax, dword [edi + 0x18]
test eax, eax
je 0x432196
test byte [eax + 0x44], 2
je 0x43115f
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 0x43114d
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.00423390
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 0x431195
add ecx, 4
jmp 0x43119b
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 0x431236
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x4311c3
mov dword [edi + 0x3c], ecx
jmp 0x4311c9
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 0x4311ff
test byte [edi + 0x16a], 0x40
je 0x4311ff
test byte [edi + 0x16b], 8
je 0x4311ff
cmp dword [ebp - 0x1c4], 1
je 0x431204
mov dword [edi + 0x44], eax
jmp 0x431236
mov eax, dword [ebp - 0x1ec]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x431236
push 0x464
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0040e0a0
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x431256
test byte [edi + 0x16a], 0x40
je 0x431256
test byte [edi + 0x16b], 8
je 0x431256
cmp byte [edi + 0x154], 1
je 0x4312a3
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x43127e
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x4312a3
cmp edx, 6
je 0x4312a3
cmp edx, 8
je 0x4312a3
dec eax
mov dword [edi + 0x44], eax
jmp 0x4312a3
cmp edx, 1
jne 0x4312a3
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x43129d
cmp edx, 6
je 0x43129d
cmp edx, 8
je 0x43129d
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.004a8410
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x430ee9
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x430ee9
cmp ebx, 2
jge 0x430ee9
jmp 0x4322ab
test byte [edi + 0x168], 4
je 0x431303
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x430ee9
or byte [edi + 0x16d], 0x40
jmp 0x430ee9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x43273b
cmp edx, 2
je 0x43271c
test byte [esi + 0x4e], 0x20
jne 0x4313d2
test byte [edi + 0x168], 2
je 0x431368
test eax, 0x80
je 0x431368
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.00428aa0
add esp, 0x14
test eax, eax
jne 0x4325a7
mov eax, dword [edi + 0x18]
test eax, eax
je 0x432588
test byte [eax + 0x44], 2
je 0x4313a8
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 0x431396
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.00423390
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 0x4313f1
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x4313f1
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1c8], 1
jmp 0x4313fb
mov dword [ebp - 0x1c8], 0
cmp dword [edi + 0x128], 0
je 0x431429
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x431429
cmp dword [edi + 0x130], 0
jne 0x431674
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x431441
cmp byte [edi + 0x156], 1
je 0x4325d0
push edi
call fcn.0042bb60
add esp, 4
test eax, eax
jne 0x4326ab
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.0042d050
add esp, 8
test eax, eax
jne 0x432626
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x43149a
mov eax, dword [eax*4 + 0x4c9ca0]
jmp eax
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x4314a8
mov dword [edi + 0x3c], ecx
jmp 0x4314ae
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 0x4315de
mov eax, dword [edi + 0x18]
test eax, eax
je 0x432607
test byte [eax + 0x44], 2
je 0x431507
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 0x4314f5
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.00423390
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 0x43153d
add ecx, 4
jmp 0x431543
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 0x4315de
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x43156b
mov dword [edi + 0x3c], ecx
jmp 0x431571
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 0x4315a7
test byte [edi + 0x16a], 0x40
je 0x4315a7
test byte [edi + 0x16b], 8
je 0x4315a7
cmp dword [ebp - 0x1e4], 1
je 0x4315ac
mov dword [edi + 0x44], eax
jmp 0x4315de
mov eax, dword [ebp - 0x3b8]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x4315de
push 0x534
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0040e0a0
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x4315fe
test byte [edi + 0x16a], 0x40
je 0x4315fe
test byte [edi + 0x16b], 8
je 0x4315fe
cmp byte [edi + 0x154], 1
je 0x43164b
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x431626
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x43164b
cmp edx, 6
je 0x43164b
cmp edx, 8
je 0x43164b
dec eax
mov dword [edi + 0x44], eax
jmp 0x43164b
cmp edx, 1
jne 0x43164b
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x431645
cmp edx, 6
je 0x431645
cmp edx, 8
je 0x431645
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.004a8410
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
cmp dword [ebp - 0x1c8], 0
je 0x431684
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x430ee9
cmp ebx, 1
jle 0x43176b
mov eax, dword [ebp - 0x36c]
cmp eax, 7
je 0x4316ac
cmp eax, 8
jne 0x431739
cmp dword [ebp - 0x20], 0
je 0x4316cb
mov eax, dword [ebp - 0x1cc]
dec ebx
add dword [ebp - 0x1d8], eax
mov dword [ebp - 0x20], 0
jmp 0x43195f
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x368]
je 0x4316df
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x431713
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 0x4316f0
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.0042a900
add esp, 0xc
jmp 0x431754
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1cc]
je 0x43174b
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 0x43195f
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.00428830
add esp, 0x10
test eax, eax
jne 0x432aaf
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 2
je 0x432bdd
cmp ecx, 1
je 0x4322ba
mov eax, dword [ebp - 0x36c]
cmp eax, 7
jl 0x4318cb
cmp eax, 8
jg 0x4318cb
mov ebx, dword [ebp - 0x1cc]
test ebx, ebx
je 0x4317d8
mov eax, dword [ebp - 0x1d4]
cdq
idiv ebx
mov ebx, eax
jmp 0x4317eb
test byte [edi + 0x168], 2
je 0x4318bd
mov ebx, dword [ebp - 0x1d4]
test ebx, ebx
je 0x4318bf
cmp ecx, 0x34
je 0x431802
cmp ecx, 0x1c
jl 0x43180f
cmp ecx, 0x2c
jg 0x43180f
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x431816
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x368]
test eax, eax
jle 0x431862
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 0x431828
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x431894
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 0x431871
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.0042a900
add esp, 0xc
jmp 0x43194e
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x431965
cmp eax, 6
je 0x4318d5
cmp eax, 5
jne 0x43192c
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 0x43190a
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1dc]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x431915
jmp 0x43195f
test ecx, ecx
jne 0x431913
mov ebx, 0
je 0x43195f
test ebx, ebx
jne 0x43194e
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x431965
cmp ecx, 0x34
je 0x43193b
cmp ecx, 0x1c
jl 0x431949
cmp ecx, 0x2c
jg 0x431949
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x43194e
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x431981
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x431978
mov dword [esi + 0xc], 2
jmp 0x430ee9
inc eax
mov dword [esi + 0xc], eax
jmp 0x430ee9
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x4319bd
mov eax, dword [ecx*4 + 0x4cb5c0]
test eax, eax
je 0x4319bd
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [eax + edx]
test eax, eax
je 0x4319bd
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x4319d0
mov eax, dword [eax*4 + 0x4c9cc0]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x431a11
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 + 0x4cb460]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x432749
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x431e53
mov eax, dword [ebp - 0x1d0]
movsx edx, word [eax*2 + 0x4cb460]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x432770
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x431a8f
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 + 0x4cb82d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x432797
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x431ad2
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 + 0x4cb81b]
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431e53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x431b73
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3bc], eax
jge 0x4327be
cmp dword [ebp - 0x3bc], 5
jl 0x431b43
cmp dword [ebp - 0x3bc], 0x11
jg 0x431b43
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 + 0x4cb81b]
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431e53
cmp dword [ebp - 0x3bc], 0x39
je 0x431b59
cmp dword [ebp - 0x3bc], 0x38
jne 0x431d5e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431a1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1d0]
jne 0x431bd0
cmp eax, 5
jl 0x431bb7
cmp eax, 0x11
jg 0x431bb7
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4cb81b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
jmp 0x431bd0
cmp eax, 0x39
je 0x431bc1
cmp eax, 0x38
jne 0x431bd0
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
jge case.0x4319d0.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x431c22
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 + 0x4cb41a]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e53
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e49
mov eax, dword [ebp - 0x1d0]
movsx edx, byte [eax + 0x4cb82d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x432822
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x431d5e
cmp eax, 0x11
jg 0x431d5e
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 5
jl 0x431d5e
cmp eax, 0x11
jg 0x431d5e
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4cb81b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431a1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x3b4], eax
jge 0x432849
cmp dword [ebp - 0x3b4], 5
jl 0x431d18
cmp dword [ebp - 0x3b4], 0x11
jg 0x431d18
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4cb81b]
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431a1d
cmp dword [ebp - 0x3b4], 0x39
je 0x431d2a
cmp dword [ebp - 0x3b4], 0x38
jne 0x431d5e
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431a1d
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x19
mov dword [ebp - 0x1e0], eax
jl 0x431d5e
cmp dword [ebp - 0x1e0], 0x34
jle 0x431dca
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x431e26
mov edx, dword [edi + 0x18]
test edx, edx
je 0x432896
test byte [edx + 0x44], 2
je 0x431da5
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x431d98
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.00423390
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 + 0x4cb418]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4cb41c]
movzx eax, word [eax*8 + 0x4cb41e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x431e24
jmp 0x431a1d
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1cc]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x431e24
jmp 0x431a1d
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x431e49
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x431e41
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x431e3e
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x431d6f
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x431efd
cmp edx, 0x40
ja 0x431e74
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x28], eax
jmp 0x431e91
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.0041fe20
add esp, 0xc
test eax, eax
jne 0x432921
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004a8410
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00432c10
add esp, 0x18
test eax, eax
je 0x431ecc
cmp eax, 0x3f
jne 0x4328b0
test byte [edi + 0x16f], 8
jne 0x431ecc
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x431ee8
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x431efd
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x431ed3
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x431efd
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 0x431f44
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
add eax, edx
cmp eax, 0x200
mov edx, dword [edi + 0xf8]
jge 0x431f29
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x431f32
mov eax, edx
push eax
push edi
call fcn.0042a6e0
add esp, 8
test eax, eax
jne 0x432a2a
movzx eax, byte [esi + 0x50]
test al, 2
je 0x431fb8
cmp dword [esi + 0x38], 0
je 0x431f95
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 0x432992
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x432992
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 0x431f6d
jmp 0x432992
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x431fb3
push dword [ebp - 0x24]
call fcn.0041fee0
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x431fdc
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00432c10
add esp, 0xc
test eax, eax
jne 0x43299b
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x431fe5
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x430ee9
mov edx, dword [edi + 0x18]
test edx, edx
je 0x432044
test byte [edx + 0x44], 2
je 0x43201f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x432012
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.00423390
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.0040bfd0
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 0x430f29
cmp ebx, 1
jg 0x430f29
or eax, 0x40
jmp 0x430f2c
cmp dword [ebp - 0x20], 0
jne 0x430f1d
cmp ebx, 1
jg 0x430f1d
or eax, 0x20
jmp 0x430f29
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x43209f
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 0x4320bc
mov ebx, dword [ebp - 0x1e8]
jmp 0x431036
mov eax, dword [edi + 0x18]
test eax, eax
je 0x432140
test byte [eax + 0x44], 2
je 0x432116
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 0x432104
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.00423390
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.0040bfd0
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 0x432189
cmp edx, 0x2b
jne 0x43217b
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x431099
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x43217b
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0040bfd0
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 0x43221b
test byte [eax + 0x44], 2
je 0x4321f1
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 0x4321df
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.00423390
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.0040bfd0
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 0x432291
test byte [edx + 0x44], 2
je 0x43226c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43225f
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.00423390
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.0040bfd0
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 0x4324c4
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x4322cd
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x4323b1
cmp dword [edi + 0x128], 0
jne 0x4322e5
cmp dword [ebp - 0x18], 0
je 0x432315
cmp dword [edi + 0x130], 0
je 0x432315
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x432308
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x432315
cmp dword [edi + 0x130], 0
jne 0x4323b1
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x43232d
cmp byte [edi + 0x156], 1
je 0x432551
push edi
call fcn.0042bb60
add esp, 4
test eax, eax
je 0x432395
mov edx, dword [edi + 0x18]
test edx, edx
je 0x432503
test byte [edx + 0x44], 2
je 0x432370
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x432363
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.00423390
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 0x432429
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.0041fee0
add esp, 4
test eax, eax
je 0x432429
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43251d
test byte [edx + 0x44], 2
je 0x432404
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4323f7
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.00423390
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 0x432491
mov eax, dword [edi + 0x18]
test eax, eax
je 0x432537
test byte [eax + 0x44], 2
je 0x43246c
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 0x43245c
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.00423390
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.0041d7f0
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 0x4324df
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.00428790
add esp, 0xc
cmp eax, 2
je 0x4324c9
cmp eax, 1
jne 0x430ee9
jmp 0x4322ba
push edi
push eax
push eax
push 1
call fcn.0040bfd0
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.0040bfd0
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.0040bfd0
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 0x43257b
cmp edx, 0x2b
jne 0x43256d
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x43232d
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x43256d
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.0040bfd0
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 0x4322ba
cmp ebx, 2
jge 0x4322ba
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 0x4325fa
cmp edx, 0x2b
jne 0x4325ec
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x431441
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x4325ec
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0040bfd0
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 0x43268c
test byte [eax + 0x44], 2
je 0x432662
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 0x432650
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.00423390
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.0040bfd0
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 0x432702
test byte [edx + 0x44], 2
je 0x4326dd
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4326d0
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.00423390
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.0040bfd0
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 0x4313d2
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 0x4322ba
jmp 0x4313d2
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x43275f
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e53
mov edx, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x432786
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x4327ad
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x431e24
jmp 0x431e53
cmp dword [ebp - 0x3bc], 0x34
jg 0x431b43
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4cb418]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x4327ff
mov eax, dword [ebp - 0x3bc]
movzx eax, word [eax*8 + 0x4cb41c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3bc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4cb41e]
mov word [esi + 0x42], ax
jb 0x431e24
jmp 0x431e53
mov eax, dword [ebp - 0x1cc]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x432838
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x431e24
jmp 0x431a1d
cmp dword [ebp - 0x3b4], 0x34
jg 0x431d18
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4cb418]
mov dword [ebp - 0x370], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4cb41c]
movzx eax, word [eax*8 + 0x4cb41e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x370]
jb 0x431e24
jmp 0x431a1d
push edi
push eax
push eax
push 1
call fcn.0040bfd0
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 0x432907
test byte [edx + 0x44], 2
je 0x4328e2
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4328d5
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.00423390
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.0040bfd0
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 0x432978
test byte [edx + 0x44], 2
je 0x432953
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x432946
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.00423390
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.0040bfd0
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 0x431f95
cmp eax, 0x3f
jne 0x4329b9
test byte [edi + 0x16f], 8
jne 0x431fd3
mov dword [esi + 0x10], 0x3f
jmp 0x431fd3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x432a10
test byte [edx + 0x44], 2
je 0x4329eb
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4329de
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.00423390
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.0040bfd0
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 0x432a90
test byte [eax + 0x44], 2
je 0x432a66
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 0x432a54
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.00423390
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.0040bfd0
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 0x432b06
test byte [edx + 0x44], 2
je 0x432ae1
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x432ad4
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.00423390
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.0040bfd0
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 0x432b77
test byte [edx + 0x44], 2
je 0x432b52
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x432b45
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.00423390
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.0040bfd0
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 0x430f83
cmp ebx, 1
jg 0x430f83
or eax, 0x40
jmp 0x430f86
cmp dword [ebp - 0x20], 0
jne 0x430f73
cmp ebx, 1
jg 0x430f73
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x430f83
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 0x432bf2
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