Function at 0x432970
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3cc
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 0x434781
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 0x432a24
lea eax, [edx - 1]
mov dword [ebp - 4], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x432a6a
test al, 0x20
je 0x432a6a
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 2
je 0x433b72
and eax, 0xffffffdf
cmp ecx, 1
je 0x433b57
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x38], edx
call fcn.0044b360
mov edx, dword [ebp - 0x38]
add esp, 4
test eax, eax
jne 0x433ae6
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x432a16
test al, 0x20
jne 0x43474e
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x432a6a
mov eax, dword [ebp + 0xc]
movsx edx, byte [eax]
cmp edx, 2
je 0x43472f
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp edx, 1
je 0x434714
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.0044b360
add esp, 4
test eax, eax
jne 0x4346a3
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x432a6a
test al, 0x20
jne 0x433b8d
movsx edx, byte [esi + 0x48]
add edx, 0xfffffffe
cmp edx, 0x1a
ja case.0x432a7a.3
jmp dword [edx*4 + 0x4e91e0]
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
jb 0x433bd3
cmp dword [ebp - 0x1b4], 0
jg 0x433ba7
mov edx, dword [edi + 0x4c]
cmp eax, edx
mov dword [edi + 0x128], 0
ja 0x432ac9
mov eax, edx
mov dword [edi + 0x4c], eax
or byte [edi + 0x171], 0x80
jmp 0x4329a9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x432af7
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x432af7
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x1b8], 1
jmp 0x432b01
mov dword [ebp - 0x1b8], 0
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x432b19
cmp byte [edi + 0x156], 1
je 0x433c9b
push edi
call fcn.00437ed0
add esp, 4
test eax, eax
jne 0x433d76
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
call fcn.004393c0
add esp, 8
test eax, eax
jne 0x433cf1
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1c4], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x432b6b
jmp dword [eax*4 + 0x4e9260]
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x432b7e
mov dword [edi + 0x3c], ecx
jmp 0x432b84
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 0x432cb1
mov eax, dword [edi + 0x18]
test eax, eax
je 0x433cd2
test byte [eax + 0x44], 2
je 0x432bdd
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 0x432bcb
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.0043f580
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 0x432c13
add ecx, 4
jmp 0x432c19
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 0x432cb1
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x432c3e
mov dword [edi + 0x3c], ecx
jmp 0x432c44
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 - 0x1fc], eax
lea eax, [ecx + eax]
je 0x432c7a
test byte [edi + 0x16a], 0x40
je 0x432c7a
test byte [edi + 0x16b], 8
je 0x432c7a
cmp dword [ebp - 0x1c4], 1
je 0x432c7f
mov dword [edi + 0x44], eax
jmp 0x432cb1
mov eax, dword [ebp - 0x1fc]
lea eax, [ecx + eax - 2]
mov dword [edi + 0x44], eax
jmp 0x432cb1
push 0x468
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0041d870
add esp, 0x10
movzx edx, byte [edi + 0x168]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
test dl, 4
je 0x432cd1
test byte [edi + 0x16a], 0x40
je 0x432cd1
test byte [edi + 0x16b], 8
je 0x432cd1
cmp byte [edi + 0x154], 1
je 0x432d1e
movsx edx, byte [edi + 0x156]
cmp edx, 2
jne 0x432cf9
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x432d1e
cmp edx, 6
je 0x432d1e
cmp edx, 8
je 0x432d1e
dec eax
mov dword [edi + 0x44], eax
jmp 0x432d1e
cmp edx, 1
jne 0x432d1e
movsx edx, byte [edi + 0x154]
cmp edx, 7
je 0x432d18
cmp edx, 6
je 0x432d18
cmp edx, 8
je 0x432d18
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.004c3b20
add esp, 0xc
mov dword [edi + 0x128], 0
cmp dword [ebp - 0x1b8], 0
je 0x4329a9
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
jmp 0x4329a9
cmp ebx, 2
jge 0x4329a9
jmp 0x433de7
test byte [edi + 0x168], 4
je 0x432d7e
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov edx, dword [edi + 0x7c]
mov dword [edx + 0xc], edi
jmp 0x4329a9
or byte [edi + 0x16d], 0x40
jmp 0x4329a9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x434289
cmp edx, 2
je 0x43426a
test byte [esi + 0x4e], 0x20
jne 0x432e4d
test byte [edi + 0x168], 2
je 0x432de3
test eax, 0x80
je 0x432de3
push ebx
lea eax, [ebp - 0x37c]
push eax
lea edx, [ebp - 0x1d4]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea eax, [ebp + 0xc]
push eax
call fcn.0043c5b0
add esp, 0x14
test eax, eax
jne 0x4340e3
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4340c4
test byte [eax + 0x44], 2
je 0x432e23
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 0x432e11
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.0043f580
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 0x432e67
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x432e67
mov byte [edx + 0x1e], 0
mov edx, 1
jmp 0x432e69
xor edx, edx
cmp dword [edi + 0x128], 0
je 0x432e97
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
jne 0x432e97
cmp dword [edi + 0x130], 0
jne 0x433173
movzx eax, byte [edi + 0x16d]
test al, 0x40
mov dword [ebp - 0x1e0], eax
je 0x432eb5
cmp byte [edi + 0x156], 1
je 0x43410c
push edi
mov dword [ebp - 0x1dc], edx
call fcn.00437ed0
mov edx, dword [ebp - 0x1dc]
add esp, 4
test eax, eax
jne 0x4341f9
add dword [edi + 0x98], 1
push 0
push edi
adc dword [edi + 0x9c], 0
and byte [edi + 0x16f], 0xfb
mov dword [ebp - 0x1dc], edx
call fcn.004393c0
mov edx, dword [ebp - 0x1dc]
add esp, 8
test eax, eax
jne 0x434174
movsx eax, byte [edi + 0x154]
mov dword [ebp - 0x1e8], eax
lea eax, [eax - 1]
cmp eax, 7
ja case.default.0x432f1f
jmp dword [eax*4 + 0x4e9280]
mov eax, dword [edi + 0x40]
test eax, eax
je 0x432f32
mov dword [edi + 0x3c], eax
jmp 0x432f38
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 + 0x168]
mov dword [ebp - 0x1f0], ecx
jmp 0x4330af
mov eax, dword [edi + 0x18]
test eax, eax
je 0x434155
test byte [eax + 0x44], 2
je 0x432f9d
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 0x432f8b
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.0043f580
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 0x432fd3
add eax, 4
jmp 0x432fd9
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 + 0x168]
mov dword [ebp - 0x1f0], ecx
jmp 0x4330af
mov eax, dword [edi + 0x40]
test eax, eax
je 0x43300d
mov dword [edi + 0x3c], eax
jmp 0x433013
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov ecx, dword [edi + 0xf8]
mov dword [ebp - 0x3c8], ecx
add ecx, eax
mov dword [ebp - 0x1f4], ecx
movzx ecx, byte [edi + 0x168]
test cl, 4
mov dword [ebp - 0x1f0], ecx
je 0x433054
test byte [edi + 0x16a], 0x40
je 0x433054
test byte [edi + 0x16b], 8
je 0x433054
cmp dword [ebp - 0x1e8], 1
je 0x43305f
mov ecx, dword [ebp - 0x1f4]
mov dword [edi + 0x44], ecx
jmp 0x4330af
mov ecx, dword [ebp - 0x3c8]
lea ecx, [eax + ecx - 2]
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x4330af
push 0x538
push str.for_wseq_fmt.c
push 2
push 8
mov dword [ebp - 0x1dc], edx
call fcn.0041d870
mov edx, dword [ebp - 0x1dc]
add esp, 0x10
movzx eax, byte [edi + 0x168]
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 0x4330d3
test byte [edi + 0x16a], 0x40
je 0x4330d3
test byte [edi + 0x16b], 8
je 0x4330d3
cmp byte [edi + 0x154], 1
je 0x433138
movsx ecx, byte [edi + 0x156]
cmp ecx, 2
jne 0x433107
movsx ecx, byte [edi + 0x154]
cmp ecx, 7
je 0x433138
cmp ecx, 6
je 0x433138
cmp ecx, 8
je 0x433138
mov ecx, dword [ebp - 0x1f4]
dec ecx
mov dword [ebp - 0x1f4], ecx
mov dword [edi + 0x44], ecx
jmp 0x433138
cmp ecx, 1
jne 0x433138
movsx ecx, byte [edi + 0x154]
cmp ecx, 7
je 0x433132
cmp ecx, 6
je 0x433132
cmp ecx, 8
je 0x433132
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 - 0x1dc], edx
call fcn.004c3b20
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
mov dword [edi + 0x130], 1
and byte [edi + 0x171], 0x7f
test edx, edx
je 0x43317e
mov eax, dword [edi + 0x7c]
mov byte [eax + 0x1e], 1
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
jmp 0x4329a9
cmp ebx, 1
jle 0x433265
mov eax, dword [ebp - 0x37c]
cmp eax, 7
je 0x4331a6
cmp eax, 8
jne 0x433233
cmp dword [ebp - 0x20], 0
je 0x4331c5
mov eax, dword [ebp - 0x1c8]
dec ebx
add dword [ebp - 0x1d4], eax
mov dword [ebp - 0x20], 0
jmp 0x433465
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
je 0x4331d3
mov eax, 1
xor ecx, ecx
mov edx, dword [ebp - 0x378]
test edx, edx
mov dword [ebp - 0x20], eax
jle 0x43320d
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 0x4331ea
mov edi, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x374]
lea eax, [ebp - 0x37c]
push eax
mov dword [ebp - 0x1d4], ecx
lea edx, [ebp - 0x1ac]
push edx
push 0
call fcn.0043b0f0
add esp, 0xc
jmp 0x43324e
mov edx, dword [ebp - 0x20]
test edx, edx
mov eax, dword [ebp - 0x1c8]
je 0x433245
mov edx, 0
add dword [ebp - 0x1d4], eax
mov dword [ebp - 0x20], edx
mov dword [edi + 0x128], 0
dec ebx
or byte [edi + 0x171], 0x80
jmp 0x433465
lea eax, [ebp - 0x37c]
push eax
lea edx, [ebp - 0x1d4]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.0043c310
add esp, 0x10
test eax, eax
jne 0x434632
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 2
je 0x434760
cmp ecx, 1
je 0x433df6
mov eax, dword [ebp - 0x37c]
cmp eax, 7
jl 0x4333d1
cmp eax, 8
jg 0x4333d1
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov dword [ebp - 0x1f8], eax
je 0x4332de
mov eax, dword [ebp - 0x1d0]
cdq
mov ebx, dword [ebp - 0x1f8]
idiv ebx
mov ebx, eax
jmp 0x4332f1
test byte [edi + 0x168], 2
je 0x4333c3
mov ebx, dword [ebp - 0x1d0]
test ebx, ebx
je 0x4333c5
cmp ecx, 0x34
je 0x433308
cmp ecx, 0x1c
jl 0x433315
cmp ecx, 0x2c
jg 0x433315
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
jmp 0x43331c
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x378]
test eax, eax
jle 0x433368
mov dword [ebp - 0x1b0], edi
xor ecx, ecx
lea edi, [ecx*8]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + edi - 0x36c]
mov edi, dword [ebp + edi - 0x368]
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 0x43332e
mov edi, dword [ebp - 0x1b0]
test eax, eax
mov ecx, 0
jle 0x43339a
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 0x433377
mov edi, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x374]
lea eax, [ebp - 0x37c]
push eax
mov dword [ebp - 0x1d4], ecx
lea edx, [ebp - 0x1ac]
push edx
push 0
call fcn.0043b0f0
add esp, 0xc
jmp 0x433454
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x43346b
cmp eax, 6
je 0x4333db
cmp eax, 5
jne 0x433432
movzx ecx, byte [edi + 0x168]
and ecx, 2
mov eax, dword [ebp - 0x1c8]
shr ecx, 1
mov ebx, dword [ebp - 0x1d0]
test eax, eax
mov dword [ebp - 0x1d8], eax
je 0x433410
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1d8]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x43341b
jmp 0x433465
test ecx, ecx
jne 0x433419
mov ebx, 0
je 0x433465
test ebx, ebx
jne 0x433454
mov dword [edi + 0x128], 1
mov dword [ebp - 0x18], 1
jmp 0x43346b
cmp ecx, 0x34
je 0x433441
cmp ecx, 0x1c
jl 0x43344f
cmp ecx, 0x2c
jg 0x43344f
mov dword [ebp - 0x20], 1
mov ebx, 2
jmp 0x433454
mov ebx, 1
mov dword [edi + 0x128], 0
or byte [edi + 0x171], 0x80
cmp dword [ebp - 0x18], 0
je 0x433487
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x43347e
mov dword [esi + 0xc], 2
jmp 0x4329a9
inc eax
mov dword [esi + 0xc], eax
jmp 0x4329a9
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx edx, byte [eax + 0x16e]
test edx, 0x80
je 0x4334c3
mov eax, dword [ecx*4 + 0x4eb480]
test eax, eax
je 0x4334c3
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [eax + edx]
test eax, eax
je 0x4334c3
mov dword [ebp - 0x1cc], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x4334cf
jmp dword [eax*4 + 0x4e92a0]
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x433515
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x2c], eax
movsx edx, word [edx*2 + 0x4eb320]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x434297
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x43396b
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x43396b
mov eax, dword [ebp - 0x1cc]
movsx edx, word [eax*2 + 0x4eb320]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4342be
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x433593
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1cc]
movsx edx, byte [eax + 0x4eb6ed]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4342e5
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x43396b
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4335d6
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 - 0x1cc]
movsx edx, byte [eax + 0x4eb6db]
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x43396b
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x43367b
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1cc]
cmp eax, 0x19
mov dword [ebp - 0x3cc], eax
jge 0x43430c
cmp dword [ebp - 0x3cc], 5
jl 0x43364b
cmp dword [ebp - 0x3cc], 0x11
jg 0x43364b
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 - 0x1cc]
movsx edx, byte [eax + 0x4eb6db]
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x43396b
cmp dword [ebp - 0x3cc], 0x39
je 0x433661
cmp dword [ebp - 0x3cc], 0x38
jne 0x433876
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1c8]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x433521
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4336de
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1cc]
cmp eax, 5
jl 0x4336c3
cmp eax, 0x11
jg 0x4336c3
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1cc]
movsx edx, byte [eax + 0x4eb6db]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1cc]
jmp 0x4336e4
cmp eax, 0x39
je 0x4336cd
cmp eax, 0x38
jne 0x4336e4
mov edx, dword [ebp - 0x1c8]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1cc]
jmp 0x4336e4
mov eax, dword [ebp - 0x1cc]
cmp eax, 0x19
jge case.0x4334cf.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x433736
movzx eax, byte [esi + 0x50]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0x50], al
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x2c], eax
movsx eax, word [esi + 0x40]
movsx edx, word [edx*8 + 0x4eb2da]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x43393c
jmp 0x43396b
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433961
mov eax, dword [ebp - 0x1cc]
movsx edx, byte [eax + 0x4eb6ed]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x434370
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov eax, dword [ebp - 0x1cc]
cmp eax, 5
jl 0x433876
cmp eax, 0x11
jg 0x433876
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov eax, dword [ebp - 0x1cc]
cmp eax, 5
jl 0x433876
cmp eax, 0x11
jg 0x433876
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4eb6db]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x433521
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1cc]
cmp eax, 0x19
mov dword [ebp - 0x3c4], eax
jge 0x434397
cmp dword [ebp - 0x3c4], 5
jl 0x433830
cmp dword [ebp - 0x3c4], 0x11
jg 0x433830
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4eb6db]
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x433521
cmp dword [ebp - 0x3c4], 0x39
je 0x433842
cmp dword [ebp - 0x3c4], 0x38
jne 0x433876
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1c8]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x433521
mov eax, dword [ebp - 0x1cc]
cmp eax, 0x19
mov dword [ebp - 0x1e4], eax
jl 0x433876
cmp dword [ebp - 0x1e4], 0x34
jle 0x4338e2
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43393e
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4343e4
test byte [edx + 0x44], 2
je 0x4338bd
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4338b0
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.0043f580
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 + 0x4eb2d8]
mov dword [ebp - 0x380], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4eb2dc]
movzx eax, word [eax*8 + 0x4eb2de]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x380]
jb 0x43393c
jmp 0x433521
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1c8]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x43393c
jmp 0x433521
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x433961
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x433959
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
cmp ecx, edx
jge 0x433956
mov ecx, edx
mov dword [esi + 0x38], ecx
test eax, eax
jne 0x433887
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x433a27
test edx, edx
jle 0x433987
movsx eax, word [esi + 0x40]
cmp eax, edx
jle 0x433987
lea edx, [eax + 1]
mov dword [esi + 0x38], edx
cmp edx, 0x40
ja 0x43399e
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0x28], eax
jmp 0x4339bb
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.0042a770
add esp, 0xc
test eax, eax
jne 0x43446f
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004c3b20
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1d4]
push eax
call fcn.00446420
add esp, 0x18
test eax, eax
je 0x4339f6
cmp eax, 0x3f
jne 0x4343fe
test byte [edi + 0x16f], 8
jne 0x4339f6
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x433a12
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x433a27
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x4339fd
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x433a27
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
jb 0x434578
movzx eax, byte [esi + 0x50]
test al, 2
je 0x433ab1
cmp dword [esi + 0x38], 0
je 0x433a8e
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 0x4344e0
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x4344e0
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 0x433a66
jmp 0x4344e0
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x24], 0
je 0x433aac
push dword [ebp - 0x24]
call fcn.0042a830
add esp, 4
mov edx, dword [edi + 0x3c]
jmp 0x433ad5
push dword [edi + 0x3c]
push esi
lea eax, [ebp - 0x1d4]
push eax
call fcn.00446420
add esp, 0xc
test eax, eax
jne 0x4344e9
mov edx, dword [edi + 0x3c]
add edx, dword [esi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x433ade
mov edx, eax
mov dword [edi + 0x4c], edx
jmp 0x4329a9
mov edx, dword [edi + 0x18]
test edx, edx
je 0x433b3d
test byte [edx + 0x44], 2
je 0x433b18
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x433b0b
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.0043f580
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.0041b770
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 0x4329e9
cmp ebx, 1
jg 0x4329e9
or eax, 0x40
jmp 0x4329ec
cmp dword [ebp - 0x20], 0
jne 0x4329dd
cmp ebx, 1
jg 0x4329dd
or eax, 0x20
jmp 0x4329e9
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x433b98
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 - 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 0x433bb5
mov ebx, dword [ebp - 0x1ec]
jmp 0x432ab6
mov edx, ecx
sub edx, dword [ebp - 0x1bc]
cmp edx, 0x200
mov eax, dword [edi + 0xf8]
jge 0x433bee
mov edx, 0x200
shr eax, 3
cmp edx, eax
jge 0x433bf7
mov edx, eax
push edx
push edi
call fcn.0043aef0
add esp, 8
test eax, eax
jne 0x433c16
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1b4], edx
jmp 0x432aa9
mov eax, dword [edi + 0x18]
test eax, eax
je 0x433c7c
test byte [eax + 0x44], 2
je 0x433c52
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 0x433c40
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.0043f580
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.0041b770
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 0x433cc5
cmp edx, 0x2b
jne 0x433cb7
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x432b19
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x433cb7
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0041b770
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 0x433d57
test byte [eax + 0x44], 2
je 0x433d2d
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 0x433d1b
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.0043f580
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.0041b770
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 0x433dcd
test byte [edx + 0x44], 2
je 0x433da8
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x433d9b
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.0043f580
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.0041b770
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 0x434000
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x433e09
movzx eax, byte [eax + 0x1e]
test eax, eax
jne 0x433eed
cmp dword [edi + 0x128], 0
jne 0x433e21
cmp dword [ebp - 0x18], 0
je 0x433e51
cmp dword [edi + 0x130], 0
je 0x433e51
movzx eax, byte [edi + 0x171]
test eax, 0x80
mov dword [edi + 0x128], 0
je 0x433e44
and eax, 0x7f
mov byte [edi + 0x171], al
jmp 0x433e51
cmp dword [edi + 0x130], 0
jne 0x433eed
movzx eax, byte [edi + 0x16d]
test al, 0x40
je 0x433e69
cmp byte [edi + 0x156], 1
je 0x43408d
push edi
call fcn.00437ed0
add esp, 4
test eax, eax
je 0x433ed1
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43403f
test byte [edx + 0x44], 2
je 0x433eac
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x433e9f
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.0043f580
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 0x433f65
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.0042a830
add esp, 4
test eax, eax
je 0x433f65
mov edx, dword [edi + 0x18]
test edx, edx
je 0x434059
test byte [edx + 0x44], 2
je 0x433f40
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x433f33
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.0043f580
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 0x433fcd
mov eax, dword [edi + 0x18]
test eax, eax
je 0x434073
test byte [eax + 0x44], 2
je 0x433fa8
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 0x433f98
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.0043f580
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.004348d0
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 0x43401b
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.0043c270
add esp, 0xc
cmp eax, 2
je 0x434005
cmp eax, 1
jne 0x4329a9
jmp 0x433df6
push edi
push eax
push eax
push 1
call fcn.0041b770
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.0041b770
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.0041b770
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 0x4340b7
cmp edx, 0x2b
jne 0x4340a9
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x433e69
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
jmp 0x4340a9
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.0041b770
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 0x433df6
cmp ebx, 2
jge 0x433df6
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 0x434142
cmp eax, 0x2b
jne 0x43412e
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x16d]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
and eax, 0xffffffbf
mov byte [edi + 0x16d], al
jmp 0x432eb5
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x16d]
mov dword [ebp - 0x1e0], eax
jmp 0x43412e
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.0041b770
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 0x4341da
test byte [eax + 0x44], 2
je 0x4341b0
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 0x43419e
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.0043f580
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.0041b770
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 0x434250
test byte [edx + 0x44], 2
je 0x43422b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43421e
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.0043f580
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.0041b770
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 0x432e4d
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 0x433df6
jmp 0x432e4d
mov edx, dword [ebp - 0x1c8]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x4342ad
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x43393c
jmp 0x43396b
mov edx, dword [ebp - 0x1c8]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x4342d4
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
mov eax, dword [ebp - 0x1c8]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x4342fb
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x43393c
jmp 0x43396b
cmp dword [ebp - 0x3cc], 0x34
jg 0x43364b
mov edx, eax
movzx eax, byte [esi + 0x50]
or eax, 2
movsx edx, word [edx*8 + 0x4eb2d8]
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x43434d
mov eax, dword [ebp - 0x3cc]
movzx eax, word [eax*8 + 0x4eb2dc]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x3cc]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4eb2de]
mov word [esi + 0x42], ax
jb 0x43393c
jmp 0x43396b
mov eax, dword [ebp - 0x1c8]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x434386
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x43393c
jmp 0x433521
cmp dword [ebp - 0x3c4], 0x34
jg 0x433830
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4eb2d8]
mov dword [ebp - 0x380], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4eb2dc]
movzx eax, word [eax*8 + 0x4eb2de]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x380]
jb 0x43393c
jmp 0x433521
push edi
push eax
push eax
push 1
call fcn.0041b770
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 0x434455
test byte [edx + 0x44], 2
je 0x434430
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x434423
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.0043f580
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.0041b770
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 0x4344c6
test byte [edx + 0x44], 2
je 0x4344a1
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x434494
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.0043f580
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.0041b770
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 0x433a8e
cmp eax, 0x3f
jne 0x434507
test byte [edi + 0x16f], 8
jne 0x433acc
mov dword [esi + 0x10], 0x3f
jmp 0x433acc
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43455e
test byte [edx + 0x44], 2
je 0x434539
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43452c
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.0043f580
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.0041b770
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 0x434592
mov eax, 0x200
shr edx, 3
cmp eax, edx
jge 0x43459b
mov eax, edx
push eax
push edi
call fcn.0043aef0
add esp, 8
test eax, eax
je 0x433a3d
mov eax, dword [edi + 0x18]
test eax, eax
je 0x434613
test byte [eax + 0x44], 2
je 0x4345e9
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 0x4345d7
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.0043f580
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.0041b770
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 0x434689
test byte [edx + 0x44], 2
je 0x434664
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x434657
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.0043f580
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.0041b770
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 0x4346fa
test byte [edx + 0x44], 2
je 0x4346d5
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4346c8
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.0043f580
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.0041b770
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 0x432a43
cmp ebx, 1
jg 0x432a43
or eax, 0x40
jmp 0x432a46
cmp dword [ebp - 0x20], 0
jne 0x432a33
cmp ebx, 1
jg 0x432a33
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x432a43
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 0x434775
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