Function at 0x4e92f0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x39c
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 0x4eaaa5
mov edx, 1
xor eax, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ebx
mov ebx, edx
cmp dword [edi + 0xd8], 0
jle 0x4ea23a
mov ecx, dword [esi + 0xc]
cmp ecx, 1
jle 0x4e93b3
lea eax, [ecx - 1]
mov dword [ebp - 0x24], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x4e93f9
test al, 0x20
je 0x4e93f9
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 2
je 0x4ea048
and eax, 0xffffffdf
cmp edx, 1
je 0x4ea02d
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
mov dword [ebp - 0x34], ecx
call fcn.00514580
mov ecx, dword [ebp - 0x34]
add esp, 4
test eax, eax
jne 0x4e9f7c
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x4e93a5
test al, 0x20
jne 0x4eaa72
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
or eax, 0x20
mov byte [esi + 0x4f], al
jmp 0x4e93f9
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
cmp ecx, 2
je 0x4eaa53
movzx eax, byte [esi + 0x4f]
and eax, 0xffffffdf
cmp ecx, 1
je 0x4eaa38
and eax, 0xffffffbf
push edi
mov byte [esi + 0x4f], al
call fcn.00514580
add esp, 4
test eax, eax
jne 0x4ea987
movzx eax, byte [esi + 0x4f]
test al, 0x10
je 0x4e93f9
test al, 0x20
jne 0x4ea063
movsx ecx, byte [esi + 0x48]
add ecx, 0xfffffffe
cmp ecx, 0x1a
ja case.0x4e9409.3
jmp dword [ecx*4 + 0x5ed0c0]
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 0x4ea0a9
test eax, eax
jg 0x4ea07d
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x4e943c
mov edx, eax
mov dword [edi + 0x4c], edx
jmp case.0x4e9409.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 0x4ea16a
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.005a3600
add esp, 0xc
jmp case.0x4e9409.16
cmp ebx, 2
jge case.0x4e9409.16
jmp 0x4ea22b
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 1
je 0x4ea524
cmp ecx, 2
je 0x4ea505
test byte [esi + 0x4e], 0x20
jne 0x4e95ac
mov dword [ebp - 0x39c], eax
mov edx, ebx
mov ebx, dword [ebp - 0x20]
test byte [edi + 0x168], 2
je 0x4e9506
test dword [ebp - 0x39c], 0x80
je 0x4e9506
push edx
mov dword [ebp - 0x1c8], edx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x1c0]
push ecx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.005107f0
mov edx, dword [ebp - 0x1c8]
add esp, 0x14
test eax, eax
jne 0x4ea41b
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4e9542
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea3fc
test byte [eax + 0x44], 2
je 0x4e9582
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 0x4e9570
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.0050ffa0
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 0x4ea444
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.005a3600
add esp, 0xc
jmp case.0x4e9409.16
cmp ebx, 1
jle 0x4e96b6
mov eax, dword [ebp - 0x350]
cmp eax, 7
je 0x4e9608
cmp eax, 8
jne 0x4e9695
cmp dword [ebp - 0xc], 0
je 0x4e9627
mov eax, dword [ebp - 0x1b4]
dec ebx
add dword [ebp - 0x1c0], eax
mov dword [ebp - 0xc], 0
jmp 0x4e989a
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
je 0x4e9635
mov eax, 1
xor edx, edx
mov ecx, dword [ebp - 0x34c]
test ecx, ecx
mov dword [ebp - 0xc], eax
jle 0x4e966f
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 0x4e964c
mov edi, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x348]
lea eax, [ebp - 0x350]
push eax
mov dword [ebp - 0x1c0], edx
lea ecx, [ebp - 0x1a8]
push ecx
push 0
call fcn.0050bf90
add esp, 0xc
jmp 0x4e96b0
mov ecx, dword [ebp - 0xc]
test ecx, ecx
mov eax, dword [ebp - 0x1b4]
je 0x4e96a7
mov ecx, 0
add dword [ebp - 0x1c0], eax
mov dword [ebp - 0xc], ecx
dec ebx
jmp 0x4e989a
lea eax, [ebp - 0x350]
push eax
lea edx, [ebp - 0x1c0]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.00510550
add esp, 0x10
mov ebx, eax
test ebx, ebx
jne 0x4ea8d8
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 2
je 0x4eaa84
cmp ecx, 1
je 0x4ea23a
mov eax, dword [ebp - 0x350]
cmp eax, 7
jl 0x4e9821
cmp eax, 8
jg 0x4e9821
mov eax, dword [ebp - 0x1b4]
test eax, eax
mov dword [ebp - 0x1d0], eax
je 0x4e9731
mov eax, dword [ebp - 0x1bc]
cdq
mov ebx, dword [ebp - 0x1d0]
idiv ebx
mov ebx, eax
jmp 0x4e9744
test byte [edi + 0x168], 2
je 0x4e9816
mov ebx, dword [ebp - 0x1bc]
test ebx, ebx
je 0x4e9818
cmp ecx, 0x34
je 0x4e975b
cmp ecx, 0x1c
jl 0x4e9768
cmp ecx, 0x2c
jg 0x4e9768
mov eax, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
jmp 0x4e976f
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x34c]
test eax, eax
jle 0x4e97bb
mov dword [ebp - 0x1ac], edi
xor edx, edx
lea edi, [edx*8]
lea edi, [edi + edx*4]
mov ecx, dword [ebp + edi - 0x340]
mov edi, dword [ebp + edi - 0x33c]
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 0x4e9781
mov edi, dword [ebp - 0x1ac]
test eax, eax
mov edx, 0
jle 0x4e97ed
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 0x4e97ca
mov edi, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x348]
lea eax, [ebp - 0x350]
push eax
mov dword [ebp - 0x1c0], edx
lea ecx, [ebp - 0x1a8]
push ecx
push 0
call fcn.0050bf90
add esp, 0xc
jmp 0x4e989a
xor ebx, ebx
mov dword [ebp - 4], 1
jmp 0x4e98a0
cmp eax, 6
je 0x4e982b
cmp eax, 5
jne 0x4e9878
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 0x4e9860
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1c4]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x4e986b
jmp 0x4e989a
test ecx, ecx
jne 0x4e9869
mov ebx, 0
je 0x4e989a
test ebx, ebx
jne 0x4e989a
mov dword [ebp - 4], 1
jmp 0x4e98a0
cmp ecx, 0x34
je 0x4e9887
cmp ecx, 0x1c
jl 0x4e9895
cmp ecx, 0x2c
jg 0x4e9895
mov dword [ebp - 0xc], 1
mov ebx, 2
jmp 0x4e989a
mov ebx, 1
cmp dword [ebp - 4], 0
je 0x4e98bc
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x4e98b3
mov dword [esi + 0xc], 2
jmp case.0x4e9409.16
inc eax
mov dword [esi + 0xc], eax
jmp case.0x4e9409.16
mov eax, dword [esi]
and byte [esi + 0x4f], 0xf7
movsx ecx, byte [esi + 0x48]
movzx eax, byte [eax + 0x16e]
test eax, 0x80
je 0x4e98f7
mov eax, dword [ecx*4 + 0x5f20e0]
test eax, eax
je 0x4e98f7
mov edx, dword [ebp - 0x1b8]
movsx eax, byte [eax + edx]
test eax, eax
je 0x4e98f7
mov dword [ebp - 0x1b8], eax
movsx ecx, byte [esi + 0x48]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x4e9903
jmp dword [eax*4 + 0x5ed140]
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e9949
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 + 0x5f1f80]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4ea532
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e24
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
movzx eax, byte [esi + 0x50]
mov dword [ebp - 0x2c], eax
jmp 0x4e9e24
mov eax, dword [ebp - 0x1b8]
movsx edx, word [eax*2 + 0x5f1f80]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4ea559
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e99c7
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 + 0x5f234d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4ea580
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e24
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e9a0a
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 + 0x5f233b]
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9e24
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e9ac1
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x39c], eax
jge 0x4ea5a7
cmp dword [ebp - 0x39c], 5
jl 0x4e9a7f
cmp dword [ebp - 0x39c], 0x11
jg 0x4e9a7f
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 + 0x5f233b]
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9e24
cmp dword [ebp - 0x39c], 0x39
je 0x4e9a91
cmp dword [ebp - 0x39c], 0x38
jne 0x4e9aab
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9955
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x4e9df7
jmp 0x4e9d00
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e9b24
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1b8]
cmp eax, 5
jl 0x4e9b09
cmp eax, 0x11
jg 0x4e9b09
or byte [esi + 0x50], 2
mov eax, dword [ebp - 0x1b8]
movsx edx, byte [eax + 0x5f233b]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1b8]
jmp 0x4e9b2a
cmp eax, 0x39
je 0x4e9b13
cmp eax, 0x38
jne 0x4e9b2a
mov edx, dword [ebp - 0x1b4]
mov dword [esi + 0x38], edx
mov eax, dword [ebp - 0x1b8]
jmp 0x4e9b2a
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
jge case.0x4e9903.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov edx, dword [esi + 0x38]
test edx, edx
jne 0x4e9b7c
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 + 0x5f1f3a]
movsx eax, word [esi + 0x40]
add edx, eax
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e24
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e1a
mov eax, dword [ebp - 0x1b8]
movsx edx, byte [eax + 0x5f234d]
cmp edx, 0xffffffff
mov dword [esi + 0x38], edx
je 0x4ea60f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov eax, dword [ebp - 0x1b8]
cmp eax, 5
jl 0x4e9bd8
cmp eax, 0x11
jle 0x4e9bee
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x4e9df7
jmp 0x4e9d00
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x38], 2
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov eax, dword [ebp - 0x1b8]
cmp eax, 5
jl 0x4e9c1b
cmp eax, 0x11
jle 0x4e9c31
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x4e9df7
jmp 0x4e9d00
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x5f233b]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9955
or byte [esi + 0x51], 4
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x398], eax
jge 0x4ea636
cmp dword [ebp - 0x398], 5
jl 0x4e9c92
cmp dword [ebp - 0x398], 0x11
jg 0x4e9c92
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, byte [eax + 0x5f233b]
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9955
cmp dword [ebp - 0x398], 0x39
je 0x4e9ca4
cmp dword [ebp - 0x398], 0x38
jne 0x4e9cbe
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9955
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x4e9df7
jmp 0x4e9d00
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x19
mov dword [ebp - 0x1cc], eax
jl 0x4e9cef
cmp dword [ebp - 0x1cc], 0x34
jle 0x4e9d9b
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x4e9df7
mov ebx, eax
mov edx, dword [edi + 0x70]
test edx, edx
je 0x4e9d3e
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea683
test byte [edx + 0x44], 2
je 0x4e9d76
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4e9d67
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.0050ffa0
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 + 0x5f1f38]
mov dword [ebp - 0x354], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x5f1f3c]
movzx eax, word [eax*8 + 0x5f1f3e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x354]
jb 0x4e9df5
jmp 0x4e9955
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b4]
cmp ecx, 0x20
mov dword [esi + 0x38], edx
jb 0x4e9df5
jmp 0x4e9955
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x4e9e1a
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x4e9e12
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x38]
cmp edx, ecx
jge 0x4e9e0f
mov edx, ecx
mov dword [esi + 0x38], edx
test eax, eax
jne 0x4e9d00
movzx eax, byte [esi + 0x50]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x4e9ece
cmp edx, 0x40
ja 0x4e9e45
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x394]
mov dword [ebp - 0x28], eax
jmp 0x4e9e62
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00505140
add esp, 0xc
test eax, eax
jne 0x4ea70e
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
push dword [esi + 0x38]
push 0x20
push eax
call fcn.005a3600
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1c0]
push eax
call fcn.00510880
add esp, 0x18
test eax, eax
je 0x4e9e9d
cmp eax, 0x3f
jne 0x4ea69d
test byte [edi + 0x16f], 8
jne 0x4e9e9d
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x38]
test edx, edx
je 0x4e9eb9
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x4e9ece
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x38]
dec edx
mov dword [esi + 0x38], edx
jne 0x4e9ea4
movsx eax, word [esi + 0x40]
test eax, eax
jne 0x4e9ece
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 0x4ea817
movzx eax, byte [esi + 0x50]
test al, 2
je 0x4e9f56
test edx, edx
je 0x4e9f2f
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 0x4ea77f
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x4ea77f
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 0x4e9f07
jmp 0x4ea77f
and eax, 0xfffffffd
mov byte [esi + 0x50], al
mov dword [esi + 0x38], 0
cmp dword [ebp - 0x10], 0
je case.0x4e9409.16
push dword [ebp - 0x10]
call fcn.00505200
add esp, 4
jmp case.0x4e9409.16
push dword [ebp - 0x30]
push esi
lea eax, [ebp - 0x1c0]
push eax
call fcn.00510880
add esp, 0xc
test eax, eax
jne 0x4ea788
mov eax, dword [esi + 0x38]
add dword [edi + 0x3c], eax
jmp case.0x4e9409.16
mov edx, dword [edi + 0x70]
mov ebx, eax
test edx, edx
je 0x4e9fba
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea013
test byte [edx + 0x44], 2
je 0x4e9fee
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4e9fdf
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.0050ffa0
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.004d9080
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 0x4e9378
cmp ebx, 1
jg 0x4e9378
or eax, 0x40
jmp 0x4e937b
cmp dword [ebp - 0xc], 0
jne 0x4e936c
cmp ebx, 1
jg 0x4e936c
or eax, 0x20
jmp 0x4e9378
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x4ea06e
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 0x4ea08b
mov ebx, dword [ebp - 0x1c8]
jmp 0x4e9433
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4ea0e5
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea14b
test byte [eax + 0x44], 2
je 0x4ea121
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 0x4ea10f
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.0050ffa0
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.004d9080
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 0x4ea1a6
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea20c
test byte [eax + 0x44], 2
je 0x4ea1e2
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 0x4ea1d0
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.0050ffa0
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.004d9080
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 0x4ea389
mov ebx, dword [ebp - 0x20]
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4ea279
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea2f1
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x4f], al
call fcn.00505200
add esp, 4
test eax, eax
je 0x4ea2f1
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ea3c8
test byte [edx + 0x44], 2
je 0x4ea2cc
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4ea2bf
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.0050ffa0
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 0x4ea359
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4ea3e2
test byte [eax + 0x44], 2
je 0x4ea334
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 0x4ea324
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.0050ffa0
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.00505780
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 0x4ea3a4
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.005104b0
add esp, 0xc
cmp eax, 2
je 0x4ea38e
cmp eax, 1
jne case.0x4e9409.16
jmp 0x4ea23a
push edi
push eax
push eax
push 1
call fcn.004d9080
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.004d9080
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.004d9080
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 0x4ea23d
cmp edx, 2
jge 0x4ea23d
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 0x4ea480
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea4e6
test byte [eax + 0x44], 2
je 0x4ea4bc
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 0x4ea4aa
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.0050ffa0
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.004d9080
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 0x4e95ac
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 0x4ea23a
jmp 0x4e95ac
mov edx, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x4ea548
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e24
mov edx, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x4ea56f
mov edx, 0x11
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
mov eax, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x4ea596
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9e24
cmp dword [ebp - 0x39c], 0x34
jg 0x4e9a7f
movzx eax, byte [esi + 0x50]
or eax, 2
mov dword [ebp - 0x2c], eax
mov byte [esi + 0x50], al
mov eax, dword [ebp - 0x39c]
movsx edx, word [eax*8 + 0x5f1f38]
movsx eax, word [esi + 0x40]
test eax, eax
mov dword [esi + 0x38], edx
jne 0x4ea5ec
mov eax, dword [ebp - 0x39c]
movzx eax, word [eax*8 + 0x5f1f3c]
mov word [esi + 0x40], ax
mov eax, dword [ebp - 0x39c]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x5f1f3e]
mov word [esi + 0x42], ax
jb 0x4e9df5
jmp 0x4e9e24
mov eax, dword [ebp - 0x1b4]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x4ea625
mov edx, 7
mov dword [esi + 0x38], edx
cmp ecx, 0x20
jb 0x4e9df5
jmp 0x4e9955
cmp dword [ebp - 0x398], 0x34
jg 0x4e9c92
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x5f1f38]
mov dword [ebp - 0x354], edx
mov dword [esi + 0x38], edx
movzx edx, word [eax*8 + 0x5f1f3c]
movzx eax, word [eax*8 + 0x5f1f3e]
mov word [esi + 0x40], dx
mov word [esi + 0x42], ax
mov edx, dword [ebp - 0x354]
jb 0x4e9df5
jmp 0x4e9955
push edi
push ebx
push ebx
push 1
call fcn.004d9080
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 0x4ea6f4
test byte [edx + 0x44], 2
je 0x4ea6cf
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4ea6c2
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.0050ffa0
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.004d9080
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 0x4ea765
test byte [edx + 0x44], 2
je 0x4ea740
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4ea733
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.0050ffa0
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.004d9080
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 0x4e9f2f
cmp eax, 0x3f
jne 0x4ea7a6
test byte [edi + 0x16f], 8
jne 0x4e9f71
mov dword [esi + 0x10], 0x3f
jmp 0x4e9f71
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4ea7fd
test byte [edx + 0x44], 2
je 0x4ea7d8
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4ea7cb
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.0050ffa0
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.004d9080
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 0x4ea853
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea8b9
test byte [eax + 0x44], 2
je 0x4ea88f
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 0x4ea87d
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.0050ffa0
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.004d9080
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 0x4ea914
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4ea96d
test byte [eax + 0x44], 2
je 0x4ea948
mov dword [eax + 0x38], ebx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], ebx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4ea939
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.0050ffa0
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.004d9080
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 0x4ea9c5
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.005a35a0
push dword [edi + 0x38]
call fcn.00505200
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 0x4eaa1e
test byte [edx + 0x44], 2
je 0x4ea9f9
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4ea9ea
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.0050ffa0
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.004d9080
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 0x4e93d2
cmp ebx, 1
jg 0x4e93d2
or eax, 0x40
jmp 0x4e93d5
cmp dword [ebp - 0xc], 0
jne 0x4e93c2
cmp ebx, 1
jg 0x4e93c2
movzx eax, byte [esi + 0x4f]
or eax, 0x20
jmp 0x4e93d2
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 0x4eaa99
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