Function at 0x427578
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x398
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov edi, dword [ebx + 4]
test edi, edi
je 0x42834c
xor eax, eax
mov edx, 1
mov esi, dword [edi + 0x58]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ebx
mov ebx, edx
cmp dword [edi + 0xd8], 0
jle 0x427ae1
mov ecx, dword [esi + 0xc]
cmp ecx, 1
jle 0x426c73
lea eax, [ecx - 1]
mov dword [ebp - 0x24], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x426cb9
test al, 0x20
je 0x426cb9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 2
je 0x4278ef
and eax, 0xffffffdf
cmp edx, 1
je 0x4278d4
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x34], ecx
call fcn.0043c3e0
mov ecx, dword [ebp - 0x34]
add esp, 4
test eax, eax
jne 0x427823
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x426c65
test al, 0x20
jne 0x428319
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x426cb9
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
cmp ecx, 2
je 0x4282fa
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp ecx, 1
je 0x4282df
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.0043c3e0
add esp, 4
test eax, eax
jne 0x42822e
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x426cb9
test al, 0x20
jne 0x42790a
movsx ecx, byte [esi + 0x48]
add ecx, 0xfffffffe
cmp ecx, 0x1a
ja case.0x426cd0.3
mov ecx, dword [ecx*4 + 0x4db720]
jmp ecx
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x1b0], eax
mov edx, dword [edi + 0x3c]
mov eax, dword [esi + 0x38]
lea ecx, [edx + eax]
cmp ecx, dword [edi + 0x44]
ja 0x427950
test eax, eax
jg 0x427924
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x426cfe
mov edx, eax
mov dword [edi + 0x4c], edx
jmp case.0x426cd0.16
mov ecx, dword [edi + 0xd8]
dec ecx
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0xfc]
add eax, edx
mov dword [edi + 0x3c], edx
test ecx, ecx
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], edx
mov dword [edi + 0xd8], ecx
jle 0x427a11
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.004b9290
add esp, 0xc
jmp case.0x426cd0.16
cmp ebx, 2
jge case.0x426cd0.16
jmp 0x427ad2
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 1
je 0x427dcb
cmp ecx, 2
je 0x427dac
test byte [esi + 0x4e], 0x20
jne 0x426e6e
mov dword [ebp - 0x398], eax
mov edx, ebx
mov ebx, dword [ebp - 0x20]
test byte [edi + 0x168], 2
je 0x426dc8
test dword [ebp - 0x398], 0x80
je 0x426dc8
push edx
mov dword [ebp - 0x1c8], edx
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x1c0]
push ecx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.00431460
mov edx, dword [ebp - 0x1c8]
add esp, 0x14
test eax, eax
jne 0x427cc2
mov eax, dword [edi + 0x70]
test eax, eax
je 0x426e04
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x427ca3
test byte [eax + 0x44], 2
je 0x426e44
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 0x426e32
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x69
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xd8]
dec ecx
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0xfc]
add eax, edx
mov dword [edi + 0x3c], edx
test ecx, ecx
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], edx
mov dword [edi + 0xd8], ecx
jle 0x427ceb
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.004b9290
add esp, 0xc
jmp case.0x426cd0.16
cmp ebx, 1
jle 0x426f78
mov eax, dword [ebp - 0x34c]
cmp eax, 7
je 0x426eca
cmp eax, 8
jne 0x426f57
cmp dword [ebp - 0xc], 0
je 0x426ee9
mov eax, dword [ebp - 0x1b4]
dec ebx
add dword [ebp - 0x1c0], eax
mov dword [ebp - 0xc], 0
jmp 0x427153
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x348]
je 0x426efd
mov eax, 1
xor edx, edx
mov dword [ebp - 0xc], eax
test ecx, ecx
jle 0x426f31
mov dword [ebp - 0x1ac], edi
xor eax, eax
mov edi, dword [ebp + eax*4 - 0x1a8]
sub edi, dword [ebp + eax*4 - 0xb0]
imul edi, dword [ebp + eax*4 - 0x12c]
inc eax
add edx, edi
cmp eax, ecx
jl 0x426f0e
mov edi, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x344]
lea eax, [ebp - 0x34c]
push eax
mov dword [ebp - 0x1c0], edx
lea ecx, [ebp - 0x1a8]
push ecx
push 0
call fcn.00430930
add esp, 0xc
jmp 0x426f72
mov ecx, dword [ebp - 0xc]
test ecx, ecx
mov eax, dword [ebp - 0x1b4]
je 0x426f69
mov ecx, 0
add dword [ebp - 0x1c0], eax
mov dword [ebp - 0xc], ecx
dec ebx
jmp 0x427153
lea eax, [ebp - 0x34c]
push eax
lea edx, [ebp - 0x1c0]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.004311f0
add esp, 0x10
mov ebx, eax
test ebx, ebx
jne 0x42817f
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 2
je 0x42832b
cmp ecx, 1
je 0x427ae1
mov eax, dword [ebp - 0x34c]
cmp eax, 7
jl 0x4270da
cmp eax, 8
jg 0x4270da
mov ebx, dword [ebp - 0x1b4]
test ebx, ebx
je 0x426fe7
mov eax, dword [ebp - 0x1bc]
cdq
idiv ebx
mov ebx, eax
jmp 0x426ffa
test byte [edi + 0x168], 2
je 0x4270cc
mov ebx, dword [ebp - 0x1bc]
test ebx, ebx
je 0x4270ce
cmp ecx, 0x34
je 0x427011
cmp ecx, 0x1c
jl 0x42701e
cmp ecx, 0x2c
jg 0x42701e
mov eax, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
jmp 0x427025
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x348]
test eax, eax
jle 0x427071
mov dword [ebp - 0x1ac], edi
xor edx, edx
lea edi, [edx*8]
lea edi, [edi + edx*4]
mov ecx, dword [ebp + edi - 0x33c]
mov edi, dword [ebp + edi - 0x338]
mov dword [ebp + edx*4 - 0xb0], ecx
mov dword [ebp + edx*4 - 0x12c], edi
mov dword [ebp + edx*4 - 0x1a8], ecx
inc edx
cmp edx, eax
jl 0x427037
mov edi, dword [ebp - 0x1ac]
test eax, eax
mov edx, 0
jle 0x4270a3
mov dword [ebp - 0x1ac], edi
xor ecx, ecx
mov edi, dword [ebp + ecx*4 - 0x1a8]
sub edi, dword [ebp + ecx*4 - 0xb0]
imul edi, dword [ebp + ecx*4 - 0x12c]
inc ecx
add edx, edi
cmp ecx, eax
jl 0x427080
mov edi, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x344]
lea eax, [ebp - 0x34c]
push eax
mov dword [ebp - 0x1c0], edx
lea ecx, [ebp - 0x1a8]
push ecx
push 0
call fcn.00430930
add esp, 0xc
jmp 0x427153
xor ebx, ebx
mov dword [ebp - 4], 1
jmp 0x427159
cmp eax, 6
je 0x4270e4
cmp eax, 5
jne 0x427131
movzx ecx, byte [edi + 0x168]
and ecx, 2
mov eax, dword [ebp - 0x1b4]
shr ecx, 1
mov ebx, dword [ebp - 0x1bc]
test eax, eax
mov dword [ebp - 0x1c4], eax
je 0x427119
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1c4]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x427124
jmp 0x427153
test ecx, ecx
jne 0x427122
mov ebx, 0
je 0x427153
test ebx, ebx
jne 0x427153
mov dword [ebp - 4], 1
jmp 0x427159
cmp ecx, 0x34
je 0x427140
cmp ecx, 0x1c
jl 0x42714e
cmp ecx, 0x2c
jg 0x42714e
mov dword [ebp - 0xc], 1
mov ebx, 2
jmp 0x427153
mov ebx, 1
cmp dword [ebp - 4], 0
je 0x427175
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x42716c
mov dword [esi + 0xc], 2
jmp case.0x426cd0.16
inc eax
mov dword [esi + 0xc], eax
jmp case.0x426cd0.16
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx eax, byte [eax + 0x16e]
test eax, 0x80
je 0x4271b0
mov eax, dword [ecx*4 + 0x4dd8a0]
test eax, eax
je 0x4271b0
mov edx, dword [ebp - 0x1b8]
movsx eax, byte [eax + edx]
test eax, eax
je 0x4271b0
mov dword [ebp - 0x1b8], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x4271c3
mov eax, dword [eax*4 + 0x4db7a0]
jmp eax
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x427204
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1b8]
movsx edx, word [eax*2 + 0x4dd740]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x427dd9
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276cb
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x4276cb
mov eax, dword [ebp - 0x1b8]
movsx edx, word [eax*2 + 0x4dd740]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x427e00
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x427282
movzx eax, byte [esi + 0x50]
or eax, 2
mov byte [esi + 0x50], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1b8]
movsx edx, byte [eax + 0x4ddb0d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x427e27
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276cb
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4272c5
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 - 0x1b8]
movsx edx, byte [eax + 0x4ddafb]
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x4276cb
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x427378
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x398], eax
jge 0x427e4e
cmp dword [ebp - 0x398], 5
jl 0x427336
cmp dword [ebp - 0x398], 0x11
jg 0x427336
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 - 0x1b8]
movsx edx, byte [eax + 0x4ddafb]
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x4276cb
cmp dword [ebp - 0x398], 0x39
je 0x427348
cmp dword [ebp - 0x398], 0x38
jne 0x427362
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x427210
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42769e
jmp 0x4275a7
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov edx, dword [esi + 0x38]
test edx, edx
mov eax, dword [ebp - 0x1b8]
jne 0x4273d5
cmp eax, 5
jl 0x4273bc
cmp eax, 0x11
jg 0x4273bc
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1b8]
movsx edx, byte [eax + 0x4ddafb]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1b8]
jmp 0x4273d5
cmp eax, 0x39
je 0x4273c6
cmp eax, 0x38
jne 0x4273d5
mov edx, dword [ebp - 0x1b4]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
jge case.0x4271c3.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x427427
movzx eax, byte [esi + 0x50]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0x50], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1b8]
movsx edx, word [eax*8 + 0x4dd6fa]
movsx eax, word [esi + 0x40]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276cb
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276c1
mov eax, dword [ebp - 0x1b8]
movsx edx, byte [eax + 0x4ddb0d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x427eb6
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov eax, dword [ebp - 0x1b8]
cmp eax, 5
jl 0x427483
cmp eax, 0x11
jle 0x427499
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42769e
jmp 0x4275a7
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov eax, dword [ebp - 0x1b8]
cmp eax, 5
jl 0x4274c6
cmp eax, 0x11
jle 0x4274dc
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42769e
jmp 0x4275a7
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4ddafb]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x427210
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x394], eax
jge 0x427edd
cmp dword [ebp - 0x394], 5
jl 0x427539
cmp dword [ebp - 0x394], 0x11
jg 0x427539
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x4ddafb]
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x427210
cmp dword [ebp - 0x394], 0x39
je 0x42754b
cmp dword [ebp - 0x394], 0x38
jne 0x427565
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x427210
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42769e
jmp 0x4275a7
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x1cc], eax
jl 0x427596
cmp dword [ebp - 0x1cc], 0x34
jle 0x427642
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x42769e
mov ebx, eax
mov edx, dword [edi + 0x70]
test edx, edx
je 0x4275e5
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x427f2a
test byte [edx + 0x44], 2
je 0x42761d
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x42760e
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x16c]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4dd6f8]
mov dword [ebp - 0x350], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4dd6fc]
movzx eax, word [eax*8 + 0x4dd6fe]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x350]
jb 0x42769c
jmp 0x427210
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x42769c
jmp 0x427210
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x4276c1
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x4276b9
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x38]
cmp edx, ecx
jge 0x4276b6
mov edx, ecx
mov dword [esi + 0x38], edx
test eax, eax
jne 0x4275a7
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x427775
cmp edx, 0x40
ja 0x4276ec
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x390]
mov dword [ebp - 0x28], eax
jmp 0x427709
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00410470
add esp, 0xc
test eax, eax
jne 0x427fb5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.004b9290
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1c0]
push eax
call fcn.004314f0
add esp, 0x18
test eax, eax
je 0x427744
cmp eax, 0x3f
jne 0x427f44
test byte [edi + 0x16f], 8
jne 0x427744
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x427760
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x427775
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x42774b
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x427775
mov dword [esi + 0x38], 1
dec dword [ebp - 0x28]
mov edx, dword [esi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x30], eax
lea ecx, [edx + eax]
cmp ecx, dword [edi + 0x44]
ja 0x4280be
movzx eax, byte [esi + 0x50]
test al, 2
je 0x4277fd
test edx, edx
je 0x4277d6
mov ecx, dword [ebp - 0x28]
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x38]
dec eax
je 0x428026
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x428026
mov ecx, dword [edi + 0x3c]
mov byte [ecx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x38]
dec eax
jne 0x4277ae
jmp 0x428026
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x10], 0
je case.0x426cd0.16
push dword [ebp - 0x10]
call fcn.00410530
add esp, 4
jmp case.0x426cd0.16
push dword [ebp - 0x30]
push esi
lea eax, [ebp - 0x1c0]
push eax
call fcn.004314f0
add esp, 0xc
test eax, eax
jne 0x42802f
mov eax, dword [esi + 0x38]
add dword [edi + 0x3c], eax
jmp case.0x426cd0.16
mov edx, dword [edi + 0x70]
mov ebx, eax
test edx, edx
je 0x427861
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4278ba
test byte [edx + 0x44], 2
je 0x427895
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x427886
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x16c]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc], 0
jne 0x426c38
cmp ebx, 1
jg 0x426c38
or eax, 0x40
jmp 0x426c3b
cmp dword [ebp - 0xc], 0
jne 0x426c2c
cmp ebx, 1
jg 0x426c2c
or eax, 0x20
jmp 0x426c38
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x427915
inc eax
mov dword [esi + 0xc], eax
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1c8], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x1b0]
movzx eax, byte [ecx + ebx]
inc ecx
mov byte [edx], al
mov edx, dword [edi + 0x3c]
inc edx
mov dword [edi + 0x3c], edx
cmp ecx, dword [esi + 0x38]
jl 0x427932
mov ebx, dword [ebp - 0x1c8]
jmp 0x426cf5
mov eax, dword [edi + 0x70]
test eax, eax
je 0x42798c
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4279f2
test byte [eax + 0x44], 2
je 0x4279c8
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 0x4279b6
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x427a4d
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x427ab3
test byte [eax + 0x44], 2
je 0x427a89
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x427a77
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x1b
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x1b
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 1
jne 0x427c30
mov ebx, dword [ebp - 0x20]
mov eax, dword [edi + 0x70]
test eax, eax
je 0x427b20
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
movzx eax, byte [esi + 0x4f]
test al, 2
je 0x427b98
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00410530
add esp, 4
test eax, eax
je 0x427b98
mov edx, dword [edi + 0x18]
test edx, edx
je 0x427c6f
test byte [edx + 0x44], 2
je 0x427b73
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x427b66
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x10]
test edx, edx
je 0x427c00
mov eax, dword [edi + 0x18]
test eax, eax
je 0x427c89
test byte [eax + 0x44], 2
je 0x427bdb
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 0x427bcb
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push dword [edi + 0x100]
and byte [edi + 0x16c], 0xdc
and byte [edi + 0x16e], 0xf7
call fcn.004293f0
add esp, 4
mov dword [ebx + 4], 0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x427c4b
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.00431150
add esp, 0xc
cmp eax, 2
je 0x427c35
cmp eax, 1
jne case.0x426cd0.16
jmp 0x427ae1
push edi
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push edx
push edx
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax], 2
jne 0x427ae4
cmp edx, 2
jge 0x427ae4
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
leave
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x427d27
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x427d8d
test byte [eax + 0x44], 2
je 0x427d63
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x427d51
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x1b
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x1b
push eax
movzx edx, byte [edi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jge 0x426e6e
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jl 0x427ae1
jmp 0x426e6e
mov edx, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x427def
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276cb
mov edx, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x427e16
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
mov eax, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x427e3d
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42769c
jmp 0x4276cb
cmp dword [ebp - 0x398], 0x34
jg 0x427336
movzx eax, byte [esi + 0x50]
or eax, 2
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
mov eax, dword [ebp - 0x398]
movsx edx, word [eax*8 + 0x4dd6f8]
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x427e93
mov eax, dword [ebp - 0x398]
movzx eax, word [eax*8 + 0x4dd6fc]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x398]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4dd6fe]
mov word [esi + 0x42], ax
jb 0x42769c
jmp 0x4276cb
mov eax, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x427ecc
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x42769c
jmp 0x427210
cmp dword [ebp - 0x394], 0x34
jg 0x427539
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4dd6f8]
mov dword [ebp - 0x350], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x4dd6fc]
movzx eax, word [eax*8 + 0x4dd6fe]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x350]
jb 0x42769c
jmp 0x427210
push edi
push ebx
push ebx
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x427f9b
test byte [edx + 0x44], 2
je 0x427f76
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x427f69
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42800c
test byte [edx + 0x44], 2
je 0x427fe7
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x427fda
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0x50]
jmp 0x4277d6
cmp eax, 0x3f
jne 0x42804d
test byte [edi + 0x16f], 8
jne 0x427818
mov dword [esi + 0x10], 0x3f
jmp 0x427818
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4280a4
test byte [edx + 0x44], 2
je 0x42807f
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x428072
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4280fa
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x428160
test byte [eax + 0x44], 2
je 0x428136
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 0x428124
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
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.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4281bb
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x428214
test byte [eax + 0x44], 2
je 0x4281ef
mov dword [eax + 0x38], ebx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], ebx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4281e0
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx eax, byte [edi + 0x16c]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x70]
mov ebx, eax
test edx, edx
je 0x42826c
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004b9230
push dword [edi + 0x38]
call fcn.00410530
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4282c5
test byte [edx + 0x44], 2
je 0x4282a0
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x428291
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x16c]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.00430230
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00416830
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc], 0
jne 0x426c92
cmp ebx, 1
jg 0x426c92
or eax, 0x40
jmp 0x426c95
cmp dword [ebp - 0xc], 0
jne 0x426c82
cmp ebx, 1
jg 0x426c82
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x426c92
xor eax, eax
mov dword [esi + 0xc], ecx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
test edx, edx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
lea ecx, [edx + 1]
jne 0x428340
mov ecx, 2
xor eax, eax
mov dword [esi + 0xc], ecx
mov esi, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret